A destroyed arena is to trap always, and a mixed array literal is to be a dyn vector

This commit is contained in:
Joseph Ferano 2026-09-25 11:08:28 +07:00
parent 892989fe85
commit 56fdfabc84

View File

@ -1511,6 +1511,18 @@ Deleted, in a sweep for dead code across the repository in which each removal
was first shown unused. flan_dyn.c is the one implementation of the flan_dyn.h
ABI; a stand-in beside it is not to come back.
** NEXT A destroyed arena always traps, even after its record is reused
Decided 2026-09-25: an Allocator value is two words, the record and the
incarnation it was made for; every use compares the incarnation, so a destroyed
arena traps whether or not a later arena-new reused its record. Rules out
static tracking of destroy, which is move semantics.
** NEXT A mixed array literal with no want is a dyn vector
Decided 2026-09-25: with nothing expected of it, an array literal whose elements
agree (numbers widening together) is typed; one whose elements mix — [10 "Hi"],
[nil 1] — is a dyn vector. (the [T] ...) forces a typed one, and a want from
context still wins. Replaces the first-element carry-over.
* Dev loop
** DONE The dev loop, step 1: the reload primitive