diff options
author | Lizzy Fleckenstein <eliasfleckenstein@web.de> | 2023-02-09 21:22:01 +0100 |
---|---|---|
committer | Lizzy Fleckenstein <eliasfleckenstein@web.de> | 2023-02-10 03:18:22 +0100 |
commit | 800bb04e808aa2881719857e5027d251afc047ac (patch) | |
tree | 83d6535ae5f010cacab54e238f243be86acff092 /derive/src/lib.rs | |
parent | 9b8daff5ae1b79700564342061d6f1c4ec9a03cf (diff) | |
download | mt_ser-800bb04e808aa2881719857e5027d251afc047ac.tar.xz |
Implement deserialize for basic types
Diffstat (limited to 'derive/src/lib.rs')
-rw-r--r-- | derive/src/lib.rs | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/derive/src/lib.rs b/derive/src/lib.rs index 9838ea1..75bc693 100644 --- a/derive/src/lib.rs +++ b/derive/src/lib.rs @@ -305,9 +305,8 @@ fn serialize_args(res: darling::Result<MtArgs>, body: impl FnOnce(&MtArgs) -> To impl_size!(size32, u32); impl_size!(size64, u64); - code - }, + } Err(e) => return e.write_errors(), } } @@ -315,10 +314,12 @@ fn serialize_args(res: darling::Result<MtArgs>, body: impl FnOnce(&MtArgs) -> To fn serialize_fields(fields: &Fields) -> TokStr { fields .iter() - .map(|(ident, field)| serialize_args(MtArgs::from_field(field), |args| { - let cfg = get_cfg(args); - quote! { mt_data::MtSerialize::mt_serialize::<#cfg>(#ident, __writer)?; } - })) + .map(|(ident, field)| { + serialize_args(MtArgs::from_field(field), |args| { + let cfg = get_cfg(args); + quote! { mt_data::MtSerialize::mt_serialize::<#cfg>(#ident, __writer)?; } + }) + }) .collect() } @@ -343,7 +344,9 @@ pub fn derive_serialize(input: TokenStream) -> TokenStream { let discr = v.discriminant.clone().map(|x| x.1).unwrap_or(discr); let ident_fn = match &v.fields { - syn::Fields::Unnamed(_) => |f| quote! { mt_data::paste! { [<field_ #f>] }}, + syn::Fields::Unnamed(_) => |f| quote! { + mt_data::paste::paste! { [<field_ #f>] } + }, _ => |f| quote! { #f }, }; |