1 use darling::FromAttributes; 2 use syn::parse_quote; 3 4 #[derive(Default, darling::FromAttributes)] 5 #[darling(attributes(builder), forward_attrs)] 6 struct Params { 7 default: Option<syn::Expr>, 8 attrs: Vec<syn::Attribute>, 9 } 10 11 #[test] forward_attrs_with_field()12fn forward_attrs_with_field() { 13 let input: syn::DeriveInput = parse_quote! { 14 #[doc = "Hello"] 15 #[builder(default = 15)] 16 struct Example; 17 }; 18 19 let parsed = Params::from_attributes(&input.attrs).unwrap(); 20 assert!(parsed.default.is_some()); 21 assert_eq!(parsed.attrs.len(), 1); 22 } 23