chiark / gitweb /
config macros: wip global
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 7 Aug 2021 21:28:45 +0000 (22:28 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 7 Aug 2021 21:28:45 +0000 (22:28 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
macros/macros.rs

index 345c756a07f633569028ec48a24e551e83e5c017..56b17cd84b9c376b026d52d22b66e817c7278a3a 100644 (file)
@@ -73,6 +73,7 @@ dbg!(&top_ident);
 
   let mut names = vec![];
   let mut output = vec![];
+  let mut global_fields = vec![];
   for field in &fields.named {
     //dbg!(field);
     let fname = &field.ident.as_ref().unwrap();
@@ -93,6 +94,10 @@ dbg!(&top_ident);
           continue;
         } else if &attr.path == &parse_quote!{ global } {
           set_skl(quote_spanned!{fname_span=> SectionKindList::Global });
+          global_fields.push(syn::Field {
+            attrs: vec![],
+            ..field.clone()
+          });
           continue;
         }
         method = attr.path.to_token_stream();
@@ -152,7 +157,9 @@ dbg!(&top_ident);
       }
     }
 
+    #[derive(Debug)]
     pub struct #global {
+      #( #global_fields ),*
     }
   };