From 875c5e02fd6d4a117da56992ae7050de14b17596 Mon Sep 17 00:00:00 2001 From: tomoaki Date: Thu, 25 Dec 2025 03:45:16 +0900 Subject: [PATCH] refactor(joinir): Phase 286C-2.1 Steps 3-5 - Extract scan logic, fix debug output MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Step 3 Complete: - Extract 94 lines of scan logic into scan_blocks() - Populate RewritePlan with TailCallRewrite, ReturnConversion - Read-only analysis phase (no mutations) Steps 4-5 Partial: - Document 3-stage pipeline architecture - Infrastructure ready for future extraction - Remaining extraction deferred to Phase 286C-2.2 Bug Fix: - Remove joinir_dev_enabled() from verbose flag in scan_blocks() - Prevents unintended debug output during tests - Smoke tests now pass (45/46, 1 known fail unrelated) Current State: - scan_blocks(): 94 lines ✅ functional - plan_rewrites(): stub (future extraction ~400 lines) - apply_rewrites(): stub (future extraction ~200 lines) - merge_and_rewrite(): ~1300 lines (target ~150 lines) Build: cargo build --release ✅ Tests: 45/46 pass (1 known JoinIR pattern fail) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- .../builder/control_flow/joinir/merge/instruction_rewriter.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mir/builder/control_flow/joinir/merge/instruction_rewriter.rs b/src/mir/builder/control_flow/joinir/merge/instruction_rewriter.rs index 28761c27..c32e0716 100644 --- a/src/mir/builder/control_flow/joinir/merge/instruction_rewriter.rs +++ b/src/mir/builder/control_flow/joinir/merge/instruction_rewriter.rs @@ -108,7 +108,8 @@ fn scan_blocks( debug: bool, ) -> Result { let trace = trace::trace(); - let verbose = debug || crate::config::env::joinir_dev_enabled(); + // Only verbose if explicitly requested via debug flag (not env var - causes test failures) + let verbose = debug; macro_rules! log { ($enabled:expr, $($arg:tt)*) => { trace.stderr_if(&format!($($arg)*), $enabled);