Repository navigation
tracking: leftovers from the invariant/complexity refactor #1947
Copy link
Copy link
Open
Task
4 / 144 of 14 issues completed
Copy link
Description
Warning
This content was written by an AI agent and must be verified by a human developer. After human verification, this alert may be removed.
Summary
Umbrella for the items intentionally left out of the invariant/complexity refactor (P0–P10), its handle-redesign follow-up (S0–S15), and the final sweep (#1934, #1935, #1937, #1938, #1939). Each was skipped because doing it then would have needed a language-design decision, a change to a type's identity, a new pipeline stage, or an evaluator-kernel redesign, not because it is unimportant.
Correctness and user-visible
- Unavailability reasons name invoked-module declarations by internal DagId #1941 Unavailability reasons name invoked-module declarations by internal DagId
- Bind struct field constraints to constructor applications instead of per-field lookups #1944 Bind struct field constraints to constructor applications instead of per-field lookups
- Bind coordinate-indexed values entry by entry in structured bindings #1951 Bind coordinate-indexed values entry by entry in structured bindings (feature; design first)
Invariants still relying on callers or name lookups
- Make QuantitySignature construction independent of caller ordering #1946 Make QuantitySignature construction independent of caller ordering
- Type-store-issued handles for nominal types and indexes #1942 Type-store-issued handles for nominal types and indexes
- Match cross-stage tables in freeze and typed lowering through handles #1943 Match cross-stage tables in freeze and typed lowering through handles
- Correlate template and instance roots by RootId instead of ExprId #1953 Correlate template and instance roots by RootId instead of ExprId
- Carry the required coordinate index's dimension over template dimension ports in index bindings #1950 Carry the required coordinate index's dimension over template dimension ports in index bindings
Evaluator kernel
- Store frame values in dense per-step slots instead of name-keyed maps #1948 Store frame values in dense per-step slots instead of name-keyed maps
- Separate executable and deferred trees for template callables #1945 Separate executable and deferred trees for template callables
Public surface and small cleanups
- Close the remaining graphcal-eval public items used only by graphcal-project white-box tests #1949 Close the remaining graphcal-eval public items used only by graphcal-project white-box tests
- Classify alias.member once during HIR lowering #1952 Classify alias.member once during HIR lowering
- Replace the string-concatenated key in LSP signature help #1954 Replace the string-concatenated key in LSP signature help
- Small cleanups left from the invariant/complexity refactor #1940 Small cleanups left from the invariant/complexity refactor
Deliberately not tracked
- Splitting the compiler crate (P10-4): decided against.
- Boundary strings (time-zone spelling, rendered runtime values, WASM import names, wasmtime error text), the host-ABI array-rank check, and internal errors kept as boundary, construction-point or defence-in-depth checks. These are genuine boundary data or checks.
The internal_error_calls metric in internals/refactor-metrics.nu tracks progress; most items below should lower it.
Activity