//ww:run-exit 66 package main; type wide = struct { b: u8, q: i64, xs: []size }; type warr = [2]wide; type pw = *wide; type plist = []pw; fn mkw(k: i64) wide = { let xs: []size = []; let x0: size = (10 + k): size; append(xs, x0); return wide { b = (k + 1): u8, q = k, xs = xs }; }; export fn main() i32 = { let w3: wide = mkw(3); let w4: wide = mkw(4); let a0: [2]wide = [w3, w4]; let a: warr = a0; if (a[0].q != 3i64) { return 1; }; if (a[1].b != 5u8) { return 2; }; let w5: wide = mkw(5); let ps0: []pw = []; append(ps0, &w5); let ps: plist = ps0; if (ps[0].q != 5i64) { return 3; }; if (ps[0].b != 6u8) { return 4; }; if (ps[0].xs[0] != (15: size)) { return 5; }; return 66; };