diff options
Diffstat (limited to 'vendor/darling-0.14.4/tests/newtype.rs')
-rw-r--r-- | vendor/darling-0.14.4/tests/newtype.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/vendor/darling-0.14.4/tests/newtype.rs b/vendor/darling-0.14.4/tests/newtype.rs new file mode 100644 index 000000000..10d023888 --- /dev/null +++ b/vendor/darling-0.14.4/tests/newtype.rs @@ -0,0 +1,26 @@ +//! A newtype struct should be able to derive `FromMeta` if its member implements it. + +use darling::{FromDeriveInput, FromMeta}; +use syn::parse_quote; + +#[derive(Debug, FromMeta, PartialEq, Eq)] +struct Lorem(bool); + +#[derive(Debug, FromDeriveInput)] +#[darling(attributes(newtype))] +struct DemoContainer { + lorem: Lorem, +} + +#[test] +fn generated() { + let di = parse_quote! { + #[derive(Baz)] + #[newtype(lorem = false)] + pub struct Foo; + }; + + let c = DemoContainer::from_derive_input(&di).unwrap(); + + assert_eq!(c.lorem, Lorem(false)); +} |