Skip to content

Commit e3e4ae1

Browse files
committed
Properly handle generics.
1 parent 7d74bf1 commit e3e4ae1

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

derive/src/lib.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,12 @@ pub fn impl_object(input: TokenStream) -> TokenStream {
1818
// Build the impl
1919
let name = &ast.ident;
2020
let link_name = format!("OBJC_CLASS_$_{}", name);
21+
let (impl_generics, ty_generics, where_clause) = ast.generics.split_for_impl();
2122

2223
let gen = quote! {
23-
unsafe impl ::objc::Message for #name { }
24+
unsafe impl #impl_generics ::objc::Message for #name #ty_generics #where_clause { }
2425

25-
impl ::objc_foundation::INSObject for #name {
26+
impl #impl_generics ::objc_foundation::INSObject for #name #ty_generics #where_clause {
2627
fn class() -> &'static ::objc::runtime::Class {
2728
extern {
2829
#[link_name = #link_name]

0 commit comments

Comments
 (0)