diff --git a/crates/teloxide-macros/src/attr.rs b/crates/teloxide-macros/src/attr.rs index f8e2e521..535b508f 100644 --- a/crates/teloxide-macros/src/attr.rs +++ b/crates/teloxide-macros/src/attr.rs @@ -7,15 +7,15 @@ use syn::{ Attribute, Ident, Lit, Path, Token, }; -pub(crate) fn fold_attrs<'a, A, R>( - attrs: impl Iterator, +pub(crate) fn fold_attrs( + attrs: impl Iterator, filter: fn(&Attribute) -> bool, parse: impl Fn(Attr) -> Result, init: A, f: impl Fn(A, R) -> Result, ) -> Result { attrs - .filter(|&a| filter(a)) + .filter(filter) .flat_map(|attribute| { // FIXME: don't allocate here let attrs = match attribute.parse_args_with(|input: &ParseBuffer| {