//ww:run-exit 0 // #34 close, sret leg: a >24B struct CALL element writes through the // hidden RDI into the append scratch before the grow. package main; type big40 = struct { a: i64, b: i64, c: i64, d: i64, e: i64 }; fn mkbig(base: i64) big40 = { let e: big40; e.a = base; e.b = base + 1i64; e.c = base + 2i64; e.d = base + 3i64; e.e = base + 4i64; return e; }; fn main() i32 = { let bs: []big40 = []; append(bs, mkbig(10i64)); append(bs, mkbig(20i64)); if (bs.len != 2) { return 1; }; if (bs[0].a != 10i64 || bs[0].e != 14i64) { return 2; }; if (bs[1].a != 20i64 || bs[1].e != 24i64) { return 3; }; return 0; };