diff options
Diffstat (limited to 'vendor/darling/examples/expr_with.rs')
-rw-r--r-- | vendor/darling/examples/expr_with.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/vendor/darling/examples/expr_with.rs b/vendor/darling/examples/expr_with.rs new file mode 100644 index 000000000..037ce2521 --- /dev/null +++ b/vendor/darling/examples/expr_with.rs @@ -0,0 +1,19 @@ +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))); +} |