CHECKPOINT-COMPILER-API: record issue 0143 RESOLVED
This commit is contained in:
@@ -373,6 +373,17 @@ when reached (sentinels or accessor fns; see the design doc Risks).
|
|||||||
`List` growth; orthogonal, see `current/CHECKPOINT-METATYPE.md`.)
|
`List` growth; orthogonal, see `current/CHECKPOINT-METATYPE.md`.)
|
||||||
|
|
||||||
## Log
|
## Log
|
||||||
|
- **Phase 4 burndown — issue 0143 FIXED (pack-as-`[]Type` stride) + regression test (2026-06-18).**
|
||||||
|
Root cause was a stale consequence of the `.type_value` migration: `buildPackSliceValue`
|
||||||
|
(`lower/pack.zig`) materialized a bare `$<pack>` `[]Type` slice as `[]Any` (16-byte elements) while
|
||||||
|
`const_type` now yields an 8-byte `.type_value` and `[]Type` resolves to `[]type_value` — so 8-byte
|
||||||
|
words sat in 16-byte slots and an 8-byte-stride reader got `[t0, pad, t1, …]`. Fixed by building the
|
||||||
|
array+slice as `.type_value` (8 bytes). Removed the stopgap `type_name` `.unresolved` guard (its
|
||||||
|
whole reason is gone; dropping it keeps any future stride bug VISIBLE as wrong output rather than a
|
||||||
|
silent fallback). Sibling `materialisePackSlice` checked — it genuinely boxes values into `[]Any`
|
||||||
|
(correct, not the same bug). Regression test `examples/0525-packs-pack-as-type-slice-arg`. **700/0
|
||||||
|
both gates.** 0114 (and 0521/0522/0524) now bail ONLY at `out` (the deferred end-state op) — the
|
||||||
|
type bug is gone. issue 0143 RESOLVED.
|
||||||
- **Phase 4 burndown — switch_br + type_name ported; issue 0143 filed; KEY sequencing insight: `out` is end-state-only (2026-06-18).**
|
- **Phase 4 burndown — switch_br + type_name ported; issue 0143 filed; KEY sequencing insight: `out` is end-state-only (2026-06-18).**
|
||||||
Ported two PURE comptime ops (`379ed05`): `switch_br` (i64-discriminant multi-way branch — enum/error
|
Ported two PURE comptime ops (`379ed05`): `switch_br` (i64-discriminant multi-way branch — enum/error
|
||||||
tag or `.type_value` index) and `type_name` (Type value / Any box → `table.typeName`, with an
|
tag or `.type_value` index) and `type_name` (Type value / Any box → `table.typeName`, with an
|
||||||
|
|||||||
Reference in New Issue
Block a user