| use darling::{util::parse_expr, FromDeriveInput}; | |
| use syn::{parse_quote, Expr}; | |
| #[derive(FromDeriveInput)] | |
| #[darling(attributes(demo))] | |
| pub struct Receiver { | |
| #[darling(with = parse_expr::preserve_str_literal, map = Some)] | |
| example1: Option<Expr>, | |
| } | |
| fn main() { | |
| let input = Receiver::from_derive_input(&parse_quote! { | |
| #[demo(example1 = test::path)] | |
| struct Example; | |
| }) | |
| .unwrap(); | |
| assert_eq!(input.example1, Some(parse_quote!(test::path))); | |
| } |