//ww:run-exit 43 package main; type t = struct { a: i8, b: i16, c: i32 }; fn seta(ts: *[]t, i: size) void = { (*ts)[i].a = -7i8; }; fn setb(ts: *[]t, i: size) void = { (*ts)[i].b = -300i16; }; fn setc(ts: *[]t, i: size) void = { (*ts)[i].c = -70000i32; }; export fn main() i32 = { let ts: []t = []; append(ts, t { a = 1i8, b = 2i16, c = 3i32 }); append(ts, t { a = 1i8, b = 2i16, c = 3i32 }); seta(&ts, 1); setb(&ts, 1); setc(&ts, 1); if (ts[1].a != -7i8) { return 1; }; if (ts[1].b != -300i16) { return 2; }; if (ts[1].c != -70000i32) { return 3; }; if (ts[0].a != 1i8) { return 4; }; return 43; };