diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-05-20 20:12:25 +0200 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-05-20 20:12:25 +0200 |
commit | 5e7789e0ad21a05a38a52b4aaa1b51e36a8a0c15 (patch) | |
tree | ab6091955fb22385263bdfde17b9db89ca4921fc | |
parent | 605347c65d1f531443d64926383bbc1d9af2ee09 (diff) |
print field attributes
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | src/lib.rs | 3 |
2 files changed, 3 insertions, 2 deletions
@@ -10,4 +10,4 @@ proc-macro = true [dependencies] quote = "1.0" -syn = { version = "2.0.16", features = ["full"] } +syn = { version = "2.0.16", features = ["full", "extra-traits"] } @@ -27,7 +27,7 @@ pub fn derive_serialize(item: TokenStream) -> TokenStream { .into() } -#[proc_macro_derive(Deserialize)] +#[proc_macro_derive(Deserialize, attributes(len_for))] pub fn derive_deserialize(item: TokenStream) -> TokenStream { let ast: ItemStruct = parse(item).unwrap(); let name = ast.ident; @@ -35,6 +35,7 @@ pub fn derive_deserialize(item: TokenStream) -> TokenStream { let deserializers = ast.fields.iter().map(|field| { let field_name = field.ident.as_ref().expect("should be a names struct"); + println!("{:?}", field.attrs); quote!( self.#field_name.deserialize(r)?; ) |