//ww:run-exit 50 package main; type t = struct { pc: size, xs: []i64 }; fn setxs(ts: *[]t, i: size, s: []i64) void = { (*ts)[i].xs = s; }; export fn main() i32 = { let empty: []i64 = []; let ts: []t = []; append(ts, t { pc = 1, xs = empty }); append(ts, t { pc = 2, xs = empty }); let s: []i64 = []; append(s, 11); append(s, 22); setxs(&ts, 1, s); if (ts[1].xs.len != 2) { return 1; }; if (ts[1].xs[1] != 22) { return 2; }; if (ts[0].xs.len != 0) { return 3; }; if (ts[0].pc != 1) { return 4; }; if (ts[1].pc != 2) { return 5; }; return 50; };