docs(metatype): issue 0139 resolved; by-value self-ref rejection done

This commit is contained in:
agra
2026-06-16 22:25:11 +03:00
parent 2f0905b407
commit d0a2967f18
2 changed files with 16 additions and 15 deletions

View File

@@ -113,10 +113,11 @@ while red. Examples: `06xx` (comptime), `11xx` (diagnostics).
`define`'s decode): widen `TypeInfo` past `` `enum `` (struct/tuple) AND
construct a `[]EnumVariant`-style value in the interpreter. Bails loudly today
in `call.zig:tryLowerReflectionCall`. Round-trips through `define` once it lands.
- [ ] **Validation + loud diagnostics** — duplicate variant names, by-VALUE
self-reference (`payload = List` not `*List` → infinite size), a `declare()`
never `define()`d (hard error), use-before-define. Emit at the
`intern`/`internNominal` choke point; never a broken type.
- [~] **Validation + loud diagnostics** — by-VALUE self-reference DONE
(`checkInfiniteSize` Pass 1g: loud "infinitely sized" diagnostic + cycle
break, covers source + comptime types; `examples/1178`, issue 0139 resolved).
Still pending: duplicate variant names, a `declare()` never `define()`d
(hard error), use-before-define.
## Risks / watch