diff --git a/packages/yew-macro/src/hook/mod.rs b/packages/yew-macro/src/hook/mod.rs index d6012883b..e620b020b 100644 --- a/packages/yew-macro/src/hook/mod.rs +++ b/packages/yew-macro/src/hook/mod.rs @@ -141,7 +141,7 @@ pub fn hook_impl(hook: HookFn) -> syn::Result { quote! { let #boxed_inner_ident = ::std::boxed::Box::new( move |#ctx_ident: &mut ::yew::functional::HookContext| #inner_fn_rt { - #inner_fn_ident #call_generics (#ctx_ident, #(#input_args,)*) + #inner_fn_ident (#ctx_ident, #(#input_args,)*) } ) as #boxed_fn_type; diff --git a/packages/yew-macro/tests/hook_attr/hook-impl-trait-pass.rs b/packages/yew-macro/tests/hook_attr/hook-impl-trait-pass.rs index bfbcb4624..cd98ff2aa 100644 --- a/packages/yew-macro/tests/hook_attr/hook-impl-trait-pass.rs +++ b/packages/yew-macro/tests/hook_attr/hook-impl-trait-pass.rs @@ -6,4 +6,7 @@ fn use_some_string(a: impl ::std::convert::Into<::std::string::String>) -> ::std a.into() } +#[::yew::prelude::hook] +fn use_impl_fn(_callback: impl ::std::prelude::rust_2021::Fn(&T) -> &U) {} + fn main() {}