aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-07-20 19:09:19 +0200
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-07-20 19:09:19 +0200
commitd68e4e0126195397aff67db48457c46f82d6de0a (patch)
tree4c483e3ffcb856de359a67615d1f56802c18764d
parent8e78ce5857726c80821d8d95c90f595fe5206f0b (diff)
pass the actual string value to map.get instead of field_name as literal text
-rw-r--r--src/lib.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 535668d..45b7219 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -112,6 +112,7 @@ pub fn derive_deserialize(item: TokenStream) -> TokenStream {
let mut out = TokenStream2::new();
let field_name = field.ident.as_ref().expect("should be a names struct");
+ let field_name_string = field_name.to_string();
let args = Args::from_attributes(&field.attrs).unwrap();
@@ -146,7 +147,7 @@ pub fn derive_deserialize(item: TokenStream) -> TokenStream {
if len_for.contains_key(&field_name.to_string()) {
out.extend(
vec![quote!(
- let r = r.take(*len_for.get("#field_name").unwrap() as u64);
+ let r = r.take(*len_for.get(#field_name_string).unwrap() as u64);
)]
.into_iter(),
);
@@ -155,7 +156,7 @@ pub fn derive_deserialize(item: TokenStream) -> TokenStream {
if discriminant_for.contains_key(&field_name.to_string()) {
out.extend(
vec![quote!(
- let attr = discriminant_for.get("#field_name").unwrap();
+ let attr = discriminant_for.get(#field_name_string).unwrap();
self.#field_name.deserialize_with_discriminant(r, attr)?;
)]
.into_iter(),