diff --git a/strum_macros/src/macros/enum_try_as.rs b/strum_macros/src/macros/enum_try_as.rs index 1efbbe8f..c6d0127c 100644 --- a/strum_macros/src/macros/enum_try_as.rs +++ b/strum_macros/src/macros/enum_try_as.rs @@ -10,6 +10,7 @@ pub fn enum_try_as_inner(ast: &DeriveInput) -> syn::Result { }; let enum_name = &ast.ident; + let (impl_generics, ty_generics, where_clause) = ast.generics.split_for_impl(); let variants: Vec<_> = variants .iter() @@ -72,9 +73,8 @@ pub fn enum_try_as_inner(ast: &DeriveInput) -> syn::Result { .collect(); Ok(quote! { - impl #enum_name { + impl #impl_generics #enum_name #ty_generics #where_clause { #(#variants)* } - } - .into()) + }) }