nyash-codex
ae741d97b4
feat(joinir): Phase 202-C Pattern 4 uses JoinValueSpace, unify dual counters
# Summary
Pattern 4 (Continue) now uses JoinValueSpace for unified ValueId allocation,
eliminating the dual counter system that was prone to ValueId collisions.
# Changes
- loop_with_continue_minimal.rs: Replace value_counter + join_value_counter with JoinValueSpace
- Param region (100+): ConditionEnv variables
- Local region (1000+): All intermediate values (Const, BinOp, etc.)
- Eliminated manual counter management (value_counter = 0u32, join_value_counter++)
- pattern4_with_continue.rs: Create JoinValueSpace and pass to lowerer
- Added Phase 202-C documentation explaining the unification
# Test Results
✅ cargo test --release --lib continue: 11 passed (3 ignored)
✅ E2E apps/tests/loop_continue_pattern4.hako → 25 (single carrier)
✅ E2E apps/tests/loop_continue_multi_carrier.hako → 100, 10 (multi carrier)
# Benefits
- No ValueId collision risk (disjoint regions)
- Consistent with Pattern 2 architecture (Phase 201)
- Simplified allocation logic (no manual counter tracking)
- Better maintainability (single source of truth)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-09 19:20:46 +09:00
..
2025-12-08 04:00:44 +09:00
2025-12-09 02:14:57 +09:00
2025-12-09 18:44:31 +09:00
2025-12-08 19:22:57 +09:00
2025-12-08 23:43:26 +09:00
2025-12-08 22:22:25 +09:00
2025-12-08 21:07:39 +09:00
2025-12-09 19:08:42 +09:00
2025-12-09 18:56:07 +09:00
2025-12-09 19:14:01 +09:00
2025-12-08 18:36:13 +09:00
2025-12-09 19:20:46 +09:00
2025-12-08 19:32:04 +09:00
2025-12-09 18:32:03 +09:00
2025-12-08 23:14:10 +09:00
2025-12-08 04:14:28 +09:00
2025-12-08 04:14:28 +09:00