aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-05-20 20:12:25 +0200
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-05-20 20:12:25 +0200
commit5e7789e0ad21a05a38a52b4aaa1b51e36a8a0c15 (patch)
treeab6091955fb22385263bdfde17b9db89ca4921fc
parent605347c65d1f531443d64926383bbc1d9af2ee09 (diff)
print field attributes
-rw-r--r--Cargo.toml2
-rw-r--r--src/lib.rs3
2 files changed, 3 insertions, 2 deletions
diff --git a/Cargo.toml b/Cargo.toml
index e56cb25..98294e6 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -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"] }
diff --git a/src/lib.rs b/src/lib.rs
index 9a9e8a3..3a9c2ba 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -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)?;
)