From ffe8389321860dc9a73480f77c7718d30326328e Mon Sep 17 00:00:00 2001 From: amitayas Date: Mon, 19 Jan 2026 06:49:05 +0530 Subject: [PATCH 1/2] fix msgSendSuper --- src/msg_send.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/msg_send.zig b/src/msg_send.zig index 7b5dcb2..2382e2a 100644 --- a/src/msg_send.zig +++ b/src/msg_send.zig @@ -65,7 +65,7 @@ pub fn MsgSend(comptime T: type) type { const msg_send_ptr: *const Fn = @ptrCast(msg_send_fn); var super: c.objc_super = .{ .receiver = target.value, - .class = superclass.value, + .super_class = superclass.value, }; const result = @call(.auto, msg_send_ptr, .{ &super, sel.value } ++ args); From f42fe6c3a26fc6cda8ca43b94ac2a858e9485ca1 Mon Sep 17 00:00:00 2001 From: amitayas Date: Tue, 20 Jan 2026 11:34:34 +0530 Subject: [PATCH 2/2] select objc_super field at comptime with @hasField to support old and new SDKs --- src/msg_send.zig | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/msg_send.zig b/src/msg_send.zig index 2382e2a..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, - .super_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;