Generalize NormalizationPlan suffix detection to accept zero post-loop assignments: Goal: Improve entry point consistency by allowing `loop + assign* + return` (N >= 0) Implementation: - Modified plan_box.rs detection logic (only file changed) - Removed `post_assign_count >= 1` requirement - Unified Phase 131 (loop + return) and Phase 132-133 (loop + assign+ + return) paths Changes: - src/mir/builder/control_flow/normalization/plan_box.rs: - Removed assignment count constraint - Unified pattern detection: `loop + assign* + return` (N >= 0) - apps/tests/phase135_loop_true_break_once_post_empty_return_min.hako (new fixture) - tools/smokes/v2/profiles/integration/apps/phase135_*.sh (new smoke tests) Pattern support: - Phase 131/135: loop + return only (consumed: 2, post_assign_count: 0) ✅ - Phase 132: loop + 1 assign + return (consumed: 3, post_assign_count: 1) ✅ - Phase 133: loop + N assigns + return (consumed: 2+N, post_assign_count: N) ✅ Design principles maintained: - **Minimal change**: Only plan_box.rs modified (execute_box unchanged) - **SSOT**: Detection logic centralized in plan_box.rs - **Box-First**: Responsibility separation preserved (Plan/Execute) Test results: - Unit tests (plan_box): 9/9 PASS (2 new tests added) - Phase 135 VM/LLVM EXE: PASS (exit code 1) - Phase 131 regression: 2/2 PASS (path now unified) - Phase 133 regression: 2/2 PASS - cargo test --lib: PASS Benefits: - Unified entry point for all loop + post patterns - Easier maintenance (single detection logic) - Future extensibility (easy to add new patterns) - Clear separation of Phase 131 and Phase 132-135 paths Default behavior unchanged: Dev-only guard maintained Related: Phase 135 normalization pattern consistency improvement 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Nyash Development Documentation 🔧
開発者向けの進行中タスクと開発計画ドキュメントです。
📂 ディレクトリ構造
current/
CURRENT_TASK.md- 現在進行中のタスク- アクティブな開発作業の詳細
- 最新の実装状況
roadmap/
- phases/ - フェーズ別開発計画
- phase-8/ - AST→MIR変換
- phase-9/ - VM/JIT実装
- phase-10/ - AOT最適化
- native-plan/ - ネイティブビルド計画
- 実行バックエンド統合
- パフォーマンス目標
proposals/
- RFC(Request for Comments)
- 新機能提案
- 設計ディスカッション
🎯 重要な参照先
- 進行状況:
current/CURRENT_TASK.md - 開発計画:
roadmap/phases/ - 技術提案:
proposals/ - ドキュメントのステータス/入口ポリシー:
doc-status-policy.md - JoinIR / Selfhost の入口:
current/main/01-JoinIR-Selfhost-INDEX.md
📝 注意事項
このディレクトリの内容は開発中であり、頻繁に変更されます。
安定した仕様はreference/を参照してください。