From c3f1adb0c3c11bbf5575b777dc12ee4acdd4c54f Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Sat, 26 Sep 2026 18:25:08 +0700 Subject: [PATCH] TODO.org queues decision 141: a dyn vector is a value, copied on first write. --- TODO.org | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/TODO.org b/TODO.org index 0b8fcdc2..9d9e232d 100644 --- a/TODO.org +++ b/TODO.org @@ -1379,6 +1379,10 @@ CLOSED: [2026-09-25] dev build wipes it at a top-level agent poll; an expression run at a stop gets a scratch temp arena. * Runtime +** NEXT A dyn vector is a value +Decided (141): binding, assigning, capturing or passing a dyn vector acts like a typed fixed +array's copy; the pointer is shared until either side writes, which copies first. Rules out +dyn vectors as shared references, where annotating a binding would change what prints. ** TODO Heap quarantine in dev A dev build could hold freed heap blocks back from reuse for a while (Zig's debug allocator), so a read after a free sees poison rather than a new owner's data.