From f3a01980cf56173f55c790c123cdf81267ecd583 Mon Sep 17 00:00:00 2001 From: Aiden McClelland Date: Mon, 1 Aug 2022 12:27:55 -0600 Subject: [PATCH] switch iterator to vec --- .../src/command/build.rs | 43 ++++++++++--------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/rpc-toolkit-macro-internals/src/command/build.rs b/rpc-toolkit-macro-internals/src/command/build.rs index 477c790..7b3943d 100644 --- a/rpc-toolkit-macro-internals/src/command/build.rs +++ b/rpc-toolkit-macro-internals/src/command/build.rs @@ -747,27 +747,30 @@ fn cli_handler( let fn_turbofish = fn_type_generics.as_turbofish(); let fn_path: Path = macro_try!(syn::parse2(quote! { super::#fn_name#fn_turbofish })); let is_parent = matches!(opt, Options::Parent { .. }); - let param = params.iter().map(|param| match param { - ParamType::Arg(arg) => { - let name = arg.name.clone().unwrap(); - let field_name = Ident::new(&format!("arg_{}", name), name.span()); - quote! { params.#field_name.clone() } - } - ParamType::Context(ty) => { - if is_parent { - quote! { >::into(ctx.clone()) } - } else { - quote! { >::into(ctx) } + let param: Vec<_> = params + .iter() + .map(|param| match param { + ParamType::Arg(arg) => { + let name = arg.name.clone().unwrap(); + let field_name = Ident::new(&format!("arg_{}", name), name.span()); + quote! { params.#field_name.clone() } } - } - ParamType::ParentData(ty) => { - parent_data_ty = quote! { #ty }; - quote! { parent_data } - } - ParamType::Request => quote! { request }, - ParamType::Response => quote! { response }, - ParamType::None => unreachable!(), - }); + ParamType::Context(ty) => { + if is_parent { + quote! { >::into(ctx.clone()) } + } else { + quote! { >::into(ctx) } + } + } + ParamType::ParentData(ty) => { + parent_data_ty = quote! { #ty }; + quote! { parent_data } + } + ParamType::Request => quote! { request }, + ParamType::Response => quote! { response }, + ParamType::None => unreachable!(), + }) + .collect(); let mut param_generics_filter = GenericFilter::new(fn_generics); for param in params { if let ParamType::Arg(a) = param {