From a020484af2deda199bfa9cab27d2fc0a7aa9b69a Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 22 Jul 2026 14:41:25 +0200 Subject: [PATCH] Improved from_com --- pulse-macros/src/lib.rs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/pulse-macros/src/lib.rs b/pulse-macros/src/lib.rs index e852c81..d554b2d 100644 --- a/pulse-macros/src/lib.rs +++ b/pulse-macros/src/lib.rs @@ -44,7 +44,6 @@ fn expand_struct(mut input: ItemStruct) -> TokenStream { let field_names = fields.iter().map(|f| f.ident.as_ref().unwrap()); let field_names2 = fields.iter().map(|f| f.ident.as_ref().unwrap()); - let field_types = fields.iter().map(|f| &f.ty); TokenStream::from(quote! { #[derive(Debug, Clone)] @@ -64,7 +63,7 @@ fn expand_struct(mut input: ItemStruct) -> TokenStream { fn from_com(com: &mut Vec) -> Self { Self { #( - #field_names2: <#field_types>::from_com(com), + #field_names2: PulseCom::from_com(com), )* } } @@ -122,21 +121,18 @@ fn expand_enum(input: ItemEnum) -> TokenStream { }, Fields::Unnamed(fields) if fields.unnamed.len() == 1 => { - let ty = &fields.unnamed.first().unwrap().ty; - quote! { - #tag => Self::#ident(<#ty>::from_com(com)), + #tag => Self::#ident(PulseCom::from_com(com)), } } Fields::Named(fields) => { let names = fields.named.iter().map(|f| f.ident.as_ref().unwrap()); - let tys = fields.named.iter().map(|f| &f.ty); quote! { #tag => Self::#ident { #( - #names: <#tys>::from_com(com), + #names: PulseCom::from_com(com), )* }, }