require = fn (ok: u1) void { if (!ok) { #trap(); } } S = struct { a: u32, b: u32, c: u32, d: u32, e: u32, f: u32, } ret = fn [cc(c)] () S { return { .a = 56, .b = 57, .c = 58, .d = 59, .e = 60, .f = 61 }; } arg = fn [cc(c)] (s: S) void { require(s.a == 56); require(s.b == 57); require(s.c == 58); require(s.d == 59); require(s.e == 60); require(s.f == 61); } [export] main = fn [cc(c)] () s32 { >s = ret(); require(s.a == 56); require(s.b == 57); require(s.c == 58); require(s.d == 59); require(s.e == 60); require(s.f == 61); arg(s); return 0; }