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, } 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))); }