//ww:run-exit 54 package main; type inner = struct { x: i64, y: i64 }; type big = struct { a: i64, ib: inner }; type t = struct { pc: size, bg: big }; fn setbg(ts: *[]t, i: size) void = { (*ts)[i].bg = big { a = 1, ib = inner { x = 2, y = 3 } }; }; export fn main() i32 = { let z: big = big { a = 0, ib = inner { x = 0, y = 0 } }; let ts: []t = []; append(ts, t { pc = 7, bg = z }); setbg(&ts, 0); let bp: *u8 = ts.ptr: *u8; if (bp[8] != 1u8) { return 1; }; if (bp[16] != 2u8) { return 2; }; if (bp[24] != 3u8) { return 3; }; if (ts[0].pc != 7) { return 4; }; return 54; };