// Passing a default-conv sx function as a callconv(.c) fn-pointer // silently mismatches ABIs — historically that meant the C-side caller // supplied no `__sx_ctx` slot 0 and the sx-side body read garbage. // The compiler now rejects the coercion outright with a "call-convention // mismatch" diagnostic. #import "modules/std.sx"; sx_handler :: (arg: *void) -> *void { return arg; } main :: () -> s32 { fp : (*void) -> *void callconv(.c) = sx_handler; return 0; }