//ww:run-exit 69 package main; type capture = struct { content: str, start: size }; type thread = struct { pc: size, captures: []capture, rep_counters: []size }; fn delete_thread(i: size, threads: *[]thread) void = { free((*threads)[i].captures); free((*threads)[i].rep_counters); delete((*threads)[i]); }; export fn main() i32 = { let z: []capture; let zr: []size; let xs: []thread = []; append(xs, thread { pc = 1, captures = z, rep_counters = zr }); append(xs, thread { pc = 2, captures = z, rep_counters = zr }); append(xs, thread { pc = 3, captures = z, rep_counters = zr }); delete_thread(1, &xs); if (len(xs) != 2) { return 1; }; if (xs[0].pc != 1) { return 2; }; if (xs[1].pc != 3) { return 3; }; return 69; };