aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-05-20 22:09:55 +0200
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-05-20 22:09:55 +0200
commitf8e195e08242eb87f7d93401116fa1fd71d2f3ba (patch)
tree2b4d804faf83487ff4c8c508f8196c73ff7f843f
parent44636e5ab31426a0c08360bd5e0dccd6373b05d4 (diff)
fix trait bound error
-rw-r--r--Cargo.toml1
-rw-r--r--src/lib.rs18
2 files changed, 8 insertions, 11 deletions
diff --git a/Cargo.toml b/Cargo.toml
index ff29be6..4df7835 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -10,5 +10,6 @@ proc-macro = true
[dependencies]
darling = "0.20.1"
+proc-macro2 = "1.0"
quote = "1.0"
syn = { version = "2.0.16", features = ["full", "extra-traits"] }
diff --git a/src/lib.rs b/src/lib.rs
index 91f68aa..670dea3 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,5 +1,6 @@
use darling::FromAttributes;
use proc_macro::TokenStream;
+use proc_macro2::TokenStream as TokenStream2;
use quote::quote;
use syn::{parse, ItemStruct};
@@ -42,7 +43,7 @@ pub fn derive_deserialize(item: TokenStream) -> TokenStream {
let name = ast.ident;
let deserializers = ast.fields.iter().map(|field| {
- let mut out = TokenStream::new();
+ let mut out = TokenStream2::new();
let field_name = field.ident.as_ref().expect("should be a names struct");
@@ -52,8 +53,7 @@ pub fn derive_deserialize(item: TokenStream) -> TokenStream {
vec![quote!(
let mut len_for = HashMap::new();
let mut discriminant_for = HashMap::new();
- )
- .into()]
+ )]
.into_iter(),
);
@@ -64,8 +64,7 @@ pub fn derive_deserialize(item: TokenStream) -> TokenStream {
len.deserialize(r)?;
len_for.insert(attr, len);
- )
- .into()]
+ )]
.into_iter(),
);
}
@@ -77,8 +76,7 @@ pub fn derive_deserialize(item: TokenStream) -> TokenStream {
discriminant.deserialize(r)?;
discriminant_for.insert(attr, discriminant);
- )
- .into()]
+ )]
.into_iter(),
);
}
@@ -90,8 +88,7 @@ pub fn derive_deserialize(item: TokenStream) -> TokenStream {
} else {
r
};
- )
- .into()]
+ )]
.into_iter(),
);
@@ -102,8 +99,7 @@ pub fn derive_deserialize(item: TokenStream) -> TokenStream {
} else {
self.#field_name.deserialize(r)?;
}
- )
- .into()]
+ )]
.into_iter(),
);