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()22 fn 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