refactor(plan): Phase 286C-4 Step 1 - plan_helpers module
Create helper functions to support plan_rewrites() extraction: - build_local_block_map(): Build block ID mapping for a function - sync_spans(): Synchronize instruction spans after rewriting These pure functions will be used by both the current monolithic merge_and_rewrite() and the new plan_rewrites() function. Progress: Step 1/4 (helpers) complete 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -33,7 +33,7 @@ This Phase document is not the language SSOT; it tracks implementation status, b
|
||||
|
||||
See `docs/development/current/main/phases/phase-285/phase-285a1-boxification.md`.
|
||||
|
||||
- WeakRef E2E (VM): `weak(x)` + `weak_to_strong()`, plus strict weak-field contract (no implicit weakification).
|
||||
- WeakRef E2E (VM/LLVM harness): `weak <expr>` + `weak_to_strong()`, plus strict weak-field contract (no implicit weakification).
|
||||
- Visibility support: `public { weak parent }` plus sugar `public weak parent` (same meaning).
|
||||
- Parser robustness: parameter type annotations (`arg: Type`) are rejected with a clear parse error (no hang).
|
||||
- Helper: `src/parser/common/params.rs`
|
||||
@ -83,7 +83,7 @@ See `docs/development/current/main/phases/phase-285/phase-285a1-boxification.md`
|
||||
|
||||
The runbook assumes WeakRef infrastructure exists in the VM and lowering.
|
||||
If any of the following are missing, treat weak smokes as **unsupported** and scope to exit-time leak report first:
|
||||
- `weak(x)` parse/lower
|
||||
- `weak <expr>` parse/lower (and `weak(...)` is rejected)
|
||||
- VM handler for MIR WeakRef/WeakNew/WeakLoad
|
||||
- language-surface `weak_to_strong()` on WeakRef
|
||||
|
||||
|
||||
Reference in New Issue
Block a user