ion_proc/function/
inner.rs1use quote::format_ident;
8use syn::punctuated::Punctuated;
9use syn::{ItemFn, parse_quote};
10
11use crate::function::parameter::Parameters;
12
13pub(crate) fn impl_inner_fn(mut function: ItemFn, parameters: &Parameters, keep_inner: bool) -> ItemFn {
14 function.attrs.push(parse_quote!(#[allow(clippy::needless_pass_by_value)]));
15 function.sig.inputs = Punctuated::from_iter(parameters.to_args());
16 if keep_inner {
17 function.sig.ident = format_ident!("inner", span = function.sig.ident.span());
18 }
19 function
20}