diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-05-20 22:09:55 +0200 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-05-20 22:09:55 +0200 |
commit | f8e195e08242eb87f7d93401116fa1fd71d2f3ba (patch) | |
tree | 2b4d804faf83487ff4c8c508f8196c73ff7f843f | |
parent | 44636e5ab31426a0c08360bd5e0dccd6373b05d4 (diff) |
fix trait bound error
-rw-r--r-- | Cargo.toml | 1 | ||||
-rw-r--r-- | src/lib.rs | 18 |
2 files changed, 8 insertions, 11 deletions
@@ -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"] } @@ -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(), ); |