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