SplitStructInt = struct { a: u64, b: u8, c: u32, } require = fn (ok: u1) void { if (!ok) { #trap(); } } bb_split_struct_ints = fn [cc(c)] (x: SplitStructInt) void { require(x.a == 1234); require(x.b == 100); require(x.c == 1337); } [export] main = fn [cc(c)] () s32 { >split: SplitStructInt = { .a = 1234, .b = 100, .c = 1337, }; bb_split_struct_ints(split); >a: s32 = #truncate(split.a); >b: s32 = #extend(split.b); >c: s32 = #extend(split.c); return a + b + 3 - c; }