// Diagnostic: a welded struct whose fields are NOT in the compiler type's memory // order is a loud build error — the sx header must mirror the real Zig layout so // the two are byte-identical. The message names the offending position and shows // the expected memory order. (Declaring StructInfo in source order trips this: // Zig reorders it to fields-first.) #import "modules/std.sx"; compiler :: #library "compiler"; Field :: struct abi(.zig) extern compiler { name: u32; ty: u32; } StructInfo :: struct abi(.zig) extern compiler { name: u32; fields: []Field; is_protocol: bool; nominal_id: u32; } main :: () { print("unreached\n"); }