]> git.proxmox.com Git - rustc.git/blob - vendor/darling-0.14.4/tests/multiple.rs
New upstream version 1.74.1+dfsg1
[rustc.git] / vendor / darling-0.14.4 / tests / multiple.rs
1 use darling::{FromDeriveInput, FromMeta};
2 use syn::parse_quote;
3
4 #[derive(FromDeriveInput)]
5 #[darling(attributes(hello))]
6 #[allow(dead_code)]
7 struct Lorem {
8 ident: syn::Ident,
9 ipsum: Ipsum,
10 }
11
12 #[derive(FromMeta)]
13 struct Ipsum {
14 #[darling(multiple)]
15 dolor: Vec<String>,
16 }
17
18 #[test]
19 fn expand_many() {
20 let di = parse_quote! {
21 #[hello(ipsum(dolor = "Hello", dolor = "World"))]
22 pub struct Baz;
23 };
24
25 let lorem: Lorem = Lorem::from_derive_input(&di).unwrap();
26 assert_eq!(
27 lorem.ipsum.dolor,
28 vec!["Hello".to_string(), "World".to_string()]
29 );
30 }