diff --git a/src/msg_send.zig b/src/msg_send.zig index 7b5dcb2..e9678da 100644 --- a/src/msg_send.zig +++ b/src/msg_send.zig @@ -63,10 +63,17 @@ pub fn MsgSend(comptime T: type) type { const Fn = MsgSendFn(RealReturn, *c.objc_super, @TypeOf(args)); const msg_send_fn = comptime msgSendPtr(RealReturn, true); const msg_send_ptr: *const Fn = @ptrCast(msg_send_fn); - var super: c.objc_super = .{ - .receiver = target.value, - .class = superclass.value, - }; + var super: c.objc_super = + if (comptime @hasField(c.objc_super, "super_class")) + .{ + .receiver = target.value, + .super_class = superclass.value, + } + else + .{ + .receiver = target.value, + .class = superclass.value, + }; const result = @call(.auto, msg_send_ptr, .{ &super, sel.value } ++ args); if (!is_object) return result;