//ww:run-exit 81 package main; type holder = struct { tag: i64, xs: []i64 }; fn dup(p: *[]i64, q: *[]holder, i: i64) void = { append(*p, (*q)[i].xs...); }; export fn main() i32 = { let inner: []i64 = []; append(inner, 5); append(inner, 9); let ys: []i64 = []; let hs: []holder = []; append(hs, holder { tag = 1, xs = inner }); dup(&ys, &hs, 0); if (len(ys) != 2) { return 1; }; if (ys[0] != 5 || ys[1] != 9) { return 2; }; return 81; };