1 //! A newtype struct should be able to derive `FromMeta` if its member implements it. 2 3 #[macro_use] 4 extern crate darling; 5 #[macro_use] 6 extern crate syn; 7 #[macro_use] 8 extern crate quote; 9 10 use darling::FromDeriveInput; 11 12 #[derive(Debug, FromMeta, PartialEq, Eq)] 13 struct Lorem(bool); 14 15 #[derive(Debug, FromDeriveInput)] 16 #[darling(attributes(newtype))] 17 struct DemoContainer { 18 lorem: Lorem, 19 } 20 21 #[test] generated()22fn generated() { 23 let di = parse_quote! { 24 #[derive(Baz)] 25 #[newtype(lorem = false)] 26 pub struct Foo; 27 }; 28 29 let c = DemoContainer::from_derive_input(&di).unwrap(); 30 31 assert_eq!(c.lorem, Lorem(false)); 32 } 33