//ww:run-exit 79 package main; type box = struct { n: i64, m: i32, name: str, xs: []u8 }; type tv = (i64 | void); export fn main() i32 = { let inner: []u8 = []; append(inner, 7u8); append(inner, 8u8); let bs: []box = []; append(bs, box { n = 41, m = 9, name = "hello", xs = inner }); let ns: []i64 = []; append(ns, bs[0].n); let ms: []i32 = []; append(ms, bs[0].m); let ss: []str = []; append(ss, bs[0].name); let vs: [][]u8 = []; append(vs, bs[0].xs); let ts: []tv = []; append(ts, bs[0].n); if (len(ns) != 1 || ns[0] != 41) { return 1; }; if (len(ms) != 1 || ms[0] != 9) { return 2; }; if (len(ss) != 1 || len(ss[0]) != 5) { return 3; }; if (len(vs) != 1 || len(vs[0]) != 2) { return 4; }; if (vs[0][1] != 8u8) { return 5; }; match (ts[0]) { case let v: i64 => { if (v != 41) { return 6; }; }; case void => { return 7; }; }; return 79; };