docs(metatype): issue 0139 resolved; by-value self-ref rejection done
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user