common: fix build on aarch64 and others

On aarch64 for example, function alignment is 4 so we need to
@alignCast() when casting ?*const anyopaque to function pointers.
This commit is contained in:
Isaac Freund
2023-01-09 14:45:43 +01:00
parent 71d21959b4
commit ace6aeebcf
+2 -1
View File
@@ -100,7 +100,8 @@ pub fn Dispatcher(comptime Obj: type, comptime Data: type) type {
}
}
@ptrCast(*const fn (*Obj, Payload, Data) void, implementation)(
const HandlerFn = fn (*Obj, Payload, Data) void;
@ptrCast(*const HandlerFn, @alignCast(@alignOf(HandlerFn), implementation))(
@ptrCast(*Obj, object),
@unionInit(Payload, payload_field.name, payload_data),
@intToPtr(Data, @ptrToInt(object.getUserData())),