From f654dd316da42d1a0fe16acabf43dbac6d728a89 Mon Sep 17 00:00:00 2001 From: tomoaki Date: Sat, 27 Dec 2025 17:49:42 +0900 Subject: [PATCH] Reduce unused warnings in tests and helpers --- src/mir/builder/control_flow/edgecfg/api/frag.rs | 2 -- .../control_flow/joinir/merge/header_phi_prebuild.rs | 2 +- src/mir/builder/control_flow/joinir/parity_checker.rs | 1 - .../joinir/patterns/ast_feature_extractor.rs | 7 +++---- .../joinir/patterns/pattern2/api/promote_runner.rs | 2 +- .../joinir/patterns/pattern6_scan_with_init.rs | 5 ----- .../joinir/patterns/pattern8_scan_bool_predicate.rs | 2 +- .../policies/normalized_shadow_suffix_router_box.rs | 1 - .../control_flow/joinir/patterns/trim_loop_lowering.rs | 4 ++-- src/mir/builder/joinir_id_remapper.rs | 2 +- .../control_tree/normalized_shadow/anf/execute_box.rs | 4 ++-- src/mir/control_tree/normalized_shadow/anf/plan_box.rs | 2 +- .../normalized_shadow/available_inputs_collector.rs | 1 - .../normalized_shadow/loop_true_break_once.rs | 2 +- src/mir/control_tree/step_tree.rs | 2 +- .../join_ir/lowering/common/condition_only_emitter.rs | 1 - .../join_ir/lowering/loop_patterns/nested_minimal.rs | 2 -- src/mir/join_ir/lowering/method_call_lowerer.rs | 2 +- src/mir/join_ir_vm_bridge/handlers/call.rs | 2 +- src/mir/join_ir_vm_bridge/handlers/if_merge.rs | 5 ++--- src/mir/join_ir_vm_bridge/handlers/nested_if_merge.rs | 5 ++--- src/mir/join_ir_vm_bridge/handlers/ret.rs | 3 +-- src/mir/join_ir_vm_bridge/joinir_block_converter.rs | 4 ++-- src/parser/declarations/box_def/members/fields.rs | 2 +- src/runner/mir_json_emit.rs | 10 +++++----- src/runner/modes/llvm/mod.rs | 7 +++++-- 26 files changed, 34 insertions(+), 48 deletions(-) diff --git a/src/mir/builder/control_flow/edgecfg/api/frag.rs b/src/mir/builder/control_flow/edgecfg/api/frag.rs index 61b5f5fc..57e9ce34 100644 --- a/src/mir/builder/control_flow/edgecfg/api/frag.rs +++ b/src/mir/builder/control_flow/edgecfg/api/frag.rs @@ -105,8 +105,6 @@ impl Frag { #[cfg(test)] mod tests { use super::*; - use crate::mir::basic_block::EdgeArgs; - use crate::mir::join_ir::lowering::inline_boundary::JumpArgsLayout; #[test] fn test_frag_basic_construction() { diff --git a/src/mir/builder/control_flow/joinir/merge/header_phi_prebuild.rs b/src/mir/builder/control_flow/joinir/merge/header_phi_prebuild.rs index 7dbfdce6..e26fdd27 100644 --- a/src/mir/builder/control_flow/joinir/merge/header_phi_prebuild.rs +++ b/src/mir/builder/control_flow/joinir/merge/header_phi_prebuild.rs @@ -33,7 +33,7 @@ pub(super) fn prebuild_header_phis( let trace = super::trace::trace(); // Build loop header PHI info if we have a boundary with loop_var_name - let (mut loop_header_phi_info, merge_entry_block) = if let Some(boundary) = boundary { + let (loop_header_phi_info, merge_entry_block) = if let Some(boundary) = boundary { if let Some(loop_var_name) = &boundary.loop_var_name { // Phase 287 P0.4: Delegate entry selection to entry_selector (SSOT) let loop_step_func_name = diff --git a/src/mir/builder/control_flow/joinir/parity_checker.rs b/src/mir/builder/control_flow/joinir/parity_checker.rs index 86833910..65b4fcc7 100644 --- a/src/mir/builder/control_flow/joinir/parity_checker.rs +++ b/src/mir/builder/control_flow/joinir/parity_checker.rs @@ -97,7 +97,6 @@ impl MirBuilder { #[cfg(test)] mod tests { - use super::*; use crate::ast::{ASTNode, BinaryOperator, LiteralValue, Span}; /// Test helper: Create a skip_whitespace pattern loop AST diff --git a/src/mir/builder/control_flow/joinir/patterns/ast_feature_extractor.rs b/src/mir/builder/control_flow/joinir/patterns/ast_feature_extractor.rs index 98f94084..22b8df19 100644 --- a/src/mir/builder/control_flow/joinir/patterns/ast_feature_extractor.rs +++ b/src/mir/builder/control_flow/joinir/patterns/ast_feature_extractor.rs @@ -57,17 +57,16 @@ use pattern_recognizers::carrier_count::count_carriers_in_body; // Re-export parse_number pattern detection pub use pattern_recognizers::parse_number::{ - detect_parse_number_pattern, detect_read_digits_loop_true_pattern, ParseNumberInfo, - ReadDigitsLoopTrueInfo, + detect_parse_number_pattern, detect_read_digits_loop_true_pattern, }; // Re-export parse_string pattern detection pub use pattern_recognizers::parse_string::{ - detect_continue_pattern, detect_parse_string_pattern, ContinuePatternInfo, ParseStringInfo, + detect_continue_pattern, detect_parse_string_pattern, }; // Re-export skip_whitespace pattern detection -pub use pattern_recognizers::skip_whitespace::{detect_skip_whitespace_pattern, SkipWhitespaceInfo}; +pub use pattern_recognizers::skip_whitespace::detect_skip_whitespace_pattern; // Re-export escape pattern recognizer (existing module, not moved in P1) pub use super::escape_pattern_recognizer::detect_escape_skip_pattern; diff --git a/src/mir/builder/control_flow/joinir/patterns/pattern2/api/promote_runner.rs b/src/mir/builder/control_flow/joinir/patterns/pattern2/api/promote_runner.rs index aa9b44a9..29702361 100644 --- a/src/mir/builder/control_flow/joinir/patterns/pattern2/api/promote_runner.rs +++ b/src/mir/builder/control_flow/joinir/patterns/pattern2/api/promote_runner.rs @@ -22,7 +22,7 @@ pub(in crate::mir::builder) fn try_promote( body: &[ASTNode], inputs: Pattern2Inputs, debug: bool, - verbose: bool, + _verbose: bool, ) -> Result { let mut inputs = inputs; use crate::mir::join_ir::lowering::digitpos_condition_normalizer::DigitPosConditionNormalizer; diff --git a/src/mir/builder/control_flow/joinir/patterns/pattern6_scan_with_init.rs b/src/mir/builder/control_flow/joinir/patterns/pattern6_scan_with_init.rs index bfbaa63e..e2d162ee 100644 --- a/src/mir/builder/control_flow/joinir/patterns/pattern6_scan_with_init.rs +++ b/src/mir/builder/control_flow/joinir/patterns/pattern6_scan_with_init.rs @@ -484,8 +484,3 @@ fn extract_scan_with_init_parts( // Phase 273 P0.1: cf_loop_pattern6_scan_with_init_impl() removed (migrated to plan/lowerer.rs) // The implementation is now in PlanLowerer::lower_scan_with_init() - -#[cfg(test)] -mod tests { - use super::*; -} diff --git a/src/mir/builder/control_flow/joinir/patterns/pattern8_scan_bool_predicate.rs b/src/mir/builder/control_flow/joinir/patterns/pattern8_scan_bool_predicate.rs index 88105b38..15a23a63 100644 --- a/src/mir/builder/control_flow/joinir/patterns/pattern8_scan_bool_predicate.rs +++ b/src/mir/builder/control_flow/joinir/patterns/pattern8_scan_bool_predicate.rs @@ -398,7 +398,7 @@ pub(crate) fn lower( let ret_false_bb = builder.next_block_id(); // Add Jump from current block to header_bb (to terminate the previous block) - if let Some(current) = builder.current_block { + if let Some(_current) = builder.current_block { builder.emit_instruction(MirInstruction::Jump { target: header_bb, edge_args: None, diff --git a/src/mir/builder/control_flow/joinir/patterns/policies/normalized_shadow_suffix_router_box.rs b/src/mir/builder/control_flow/joinir/patterns/policies/normalized_shadow_suffix_router_box.rs index 7e23e854..56db30c0 100644 --- a/src/mir/builder/control_flow/joinir/patterns/policies/normalized_shadow_suffix_router_box.rs +++ b/src/mir/builder/control_flow/joinir/patterns/policies/normalized_shadow_suffix_router_box.rs @@ -103,7 +103,6 @@ impl NormalizedShadowSuffixRouterBox { #[cfg(test)] mod tests { - use super::*; use crate::ast::{ASTNode, LiteralValue, Span}; #[test] diff --git a/src/mir/builder/control_flow/joinir/patterns/trim_loop_lowering.rs b/src/mir/builder/control_flow/joinir/patterns/trim_loop_lowering.rs index 83d9eb4e..559016d8 100644 --- a/src/mir/builder/control_flow/joinir/patterns/trim_loop_lowering.rs +++ b/src/mir/builder/control_flow/joinir/patterns/trim_loop_lowering.rs @@ -515,10 +515,10 @@ impl TrimLoopLowerer { /// 1. Carrier variable (e.g., "is_ch_match") /// 2. Original variable (e.g., "ch") - mapped to same JoinIR ValueId fn setup_condition_env_bindings( - builder: &mut MirBuilder, + _builder: &mut MirBuilder, trim_helper: &crate::mir::loop_pattern_detection::trim_loop_helper::TrimLoopHelper, break_semantics: BreakSemantics, - alloc_join_value: &mut dyn FnMut() -> ValueId, + _alloc_join_value: &mut dyn FnMut() -> ValueId, ) -> Result<(Vec, Option), String> { use crate::mir::join_ir::lowering::common::condition_only_emitter::ConditionOnlyRecipe; diff --git a/src/mir/builder/joinir_id_remapper.rs b/src/mir/builder/joinir_id_remapper.rs index ed67c08f..6d5b6360 100644 --- a/src/mir/builder/joinir_id_remapper.rs +++ b/src/mir/builder/joinir_id_remapper.rs @@ -183,7 +183,7 @@ impl JoinIrIdRemapper { then_val, else_val, } => vec![*dst, *cond, *then_val, *else_val], - Jump { .. } | Nop | Safepoint => vec![], + Nop | Safepoint => vec![], ExternCall { dst, args, .. } => { let mut vals = Vec::new(); if let Some(d) = dst { diff --git a/src/mir/control_tree/normalized_shadow/anf/execute_box.rs b/src/mir/control_tree/normalized_shadow/anf/execute_box.rs index 4f9cc4b3..bafec906 100644 --- a/src/mir/control_tree/normalized_shadow/anf/execute_box.rs +++ b/src/mir/control_tree/normalized_shadow/anf/execute_box.rs @@ -89,7 +89,7 @@ impl AnfExecuteBox { /// This function recursively normalizes left and right operands (depth-first, left-to-right) /// and then generates a pure BinaryOp instruction. fn execute_binary_op_hoist( - plan: &AnfPlan, + _plan: &AnfPlan, ast: &ASTNode, env: &mut BTreeMap, body: &mut Vec, @@ -295,7 +295,7 @@ impl AnfExecuteBox { /// This function recursively normalizes left and right operands (depth-first, left-to-right) /// and then generates a pure Compare instruction. fn execute_compare_hoist( - plan: &AnfPlan, + _plan: &AnfPlan, ast: &ASTNode, env: &mut BTreeMap, body: &mut Vec, diff --git a/src/mir/control_tree/normalized_shadow/anf/plan_box.rs b/src/mir/control_tree/normalized_shadow/anf/plan_box.rs index e36e0df9..61a5b265 100644 --- a/src/mir/control_tree/normalized_shadow/anf/plan_box.rs +++ b/src/mir/control_tree/normalized_shadow/anf/plan_box.rs @@ -223,7 +223,7 @@ impl AnfPlanBox { #[cfg(test)] mod tests { use super::*; - use crate::ast::{ASTNode, BinaryOperator, LiteralValue, UnaryOperator}; + use crate::ast::{ASTNode, BinaryOperator, LiteralValue}; use std::collections::BTreeMap; fn span() -> crate::ast::Span { diff --git a/src/mir/control_tree/normalized_shadow/available_inputs_collector.rs b/src/mir/control_tree/normalized_shadow/available_inputs_collector.rs index 3a9afd11..5131583f 100644 --- a/src/mir/control_tree/normalized_shadow/available_inputs_collector.rs +++ b/src/mir/control_tree/normalized_shadow/available_inputs_collector.rs @@ -83,7 +83,6 @@ impl AvailableInputsCollectorBox { #[cfg(test)] mod tests { use super::*; - use crate::mir::loop_pattern_detection::function_scope_capture::CapturedVar; #[test] fn test_collect_empty() { diff --git a/src/mir/control_tree/normalized_shadow/loop_true_break_once.rs b/src/mir/control_tree/normalized_shadow/loop_true_break_once.rs index f003d30e..83073a1c 100644 --- a/src/mir/control_tree/normalized_shadow/loop_true_break_once.rs +++ b/src/mir/control_tree/normalized_shadow/loop_true_break_once.rs @@ -58,7 +58,7 @@ use crate::mir::join_ir::{JoinFunction, JoinFuncId, JoinInst, JoinModule}; use crate::mir::ValueId; #[cfg(test)] -use crate::mir::join_ir::{BinOpKind, ConstValue, MirLikeInst}; +use crate::mir::join_ir::{ConstValue, MirLikeInst}; #[cfg(test)] use crate::mir::join_ir_vm_bridge::join_func_name; #[cfg(test)] diff --git a/src/mir/control_tree/step_tree.rs b/src/mir/control_tree/step_tree.rs index 8a2c9923..4eb45f77 100644 --- a/src/mir/control_tree/step_tree.rs +++ b/src/mir/control_tree/step_tree.rs @@ -387,7 +387,7 @@ impl StepTreeBuilderBox { }, _ => None, }, - /// Phase 128: Store value AST for Normalized lowering + // Phase 128: Store value AST for Normalized lowering value_ast: Some(AstNodeHandle(value.clone())), }, span: span.clone(), diff --git a/src/mir/join_ir/lowering/common/condition_only_emitter.rs b/src/mir/join_ir/lowering/common/condition_only_emitter.rs index 679cabcc..1fda0b81 100644 --- a/src/mir/join_ir/lowering/common/condition_only_emitter.rs +++ b/src/mir/join_ir/lowering/common/condition_only_emitter.rs @@ -256,7 +256,6 @@ mod tests { use super::*; use crate::mir::join_ir::lowering::condition_env::ConditionEnv; use crate::mir::join_ir::lowering::loop_body_local_env::LoopBodyLocalEnv; - use crate::mir::join_ir::JoinInst; use crate::mir::ValueId; #[test] diff --git a/src/mir/join_ir/lowering/loop_patterns/nested_minimal.rs b/src/mir/join_ir/lowering/loop_patterns/nested_minimal.rs index b5eab214..dee23613 100644 --- a/src/mir/join_ir/lowering/loop_patterns/nested_minimal.rs +++ b/src/mir/join_ir/lowering/loop_patterns/nested_minimal.rs @@ -327,8 +327,6 @@ fn has_break_or_continue(_loop_form: &LoopForm) -> bool { #[cfg(test)] mod tests { - use super::*; - #[test] #[ignore] // TODO: Implement test after lowering logic is complete fn test_pattern6_lowering_success() { diff --git a/src/mir/join_ir/lowering/method_call_lowerer.rs b/src/mir/join_ir/lowering/method_call_lowerer.rs index 4a49decb..bb8a5879 100644 --- a/src/mir/join_ir/lowering/method_call_lowerer.rs +++ b/src/mir/join_ir/lowering/method_call_lowerer.rs @@ -556,6 +556,7 @@ mod tests { assert_eq!(args[1], ValueId(11)); // ch argument } _ => panic!("Expected BoxCall instruction"), + } } #[test] @@ -601,7 +602,6 @@ mod tests { assert_eq!(boxcall, vec![ValueId(1), ValueId(2)]); assert!(result.0 >= 100); } -} #[test] fn test_lower_substring_with_args() { diff --git a/src/mir/join_ir_vm_bridge/handlers/call.rs b/src/mir/join_ir_vm_bridge/handlers/call.rs index 13be411f..969fc193 100644 --- a/src/mir/join_ir_vm_bridge/handlers/call.rs +++ b/src/mir/join_ir_vm_bridge/handlers/call.rs @@ -213,7 +213,7 @@ where #[cfg(test)] mod tests { use super::*; - use crate::mir::{BasicBlock, ConstValue, EffectMask, MirType, FunctionSignature}; + use crate::mir::{ConstValue, EffectMask, MirType, FunctionSignature}; use std::collections::BTreeMap; /// Helper: Create empty MirFunction for testing diff --git a/src/mir/join_ir_vm_bridge/handlers/if_merge.rs b/src/mir/join_ir_vm_bridge/handlers/if_merge.rs index c4766310..b616f292 100644 --- a/src/mir/join_ir_vm_bridge/handlers/if_merge.rs +++ b/src/mir/join_ir_vm_bridge/handlers/if_merge.rs @@ -232,9 +232,8 @@ where #[cfg(test)] mod tests { use super::*; - use crate::mir::function::{FunctionMetadata, FunctionSignature, MirFunction}; - use crate::mir::{BasicBlock, BasicBlockId, MirInstruction, ValueId}; - use std::collections::HashMap; + use crate::mir::function::{FunctionSignature, MirFunction}; + use crate::mir::{BasicBlockId, MirInstruction, ValueId}; /// Mock finalize function for testing fn mock_finalize( diff --git a/src/mir/join_ir_vm_bridge/handlers/nested_if_merge.rs b/src/mir/join_ir_vm_bridge/handlers/nested_if_merge.rs index c9f079a2..32bc2afb 100644 --- a/src/mir/join_ir_vm_bridge/handlers/nested_if_merge.rs +++ b/src/mir/join_ir_vm_bridge/handlers/nested_if_merge.rs @@ -321,9 +321,8 @@ where #[cfg(test)] mod tests { use super::*; - use crate::mir::function::{FunctionMetadata, FunctionSignature, MirFunction}; - use crate::mir::{BasicBlock, BasicBlockId, MirInstruction, ValueId}; - use std::collections::HashMap; + use crate::mir::function::{FunctionSignature, MirFunction}; + use crate::mir::{BasicBlockId, MirInstruction, ValueId}; /// Mock finalize function for testing fn mock_finalize( diff --git a/src/mir/join_ir_vm_bridge/handlers/ret.rs b/src/mir/join_ir_vm_bridge/handlers/ret.rs index 859ab83f..1562357f 100644 --- a/src/mir/join_ir_vm_bridge/handlers/ret.rs +++ b/src/mir/join_ir_vm_bridge/handlers/ret.rs @@ -35,8 +35,7 @@ where #[cfg(test)] mod tests { use super::*; - use crate::ast::Span; - use crate::mir::{BasicBlock, FunctionSignature, MirType, EffectMask}; + use crate::mir::{FunctionSignature, MirType, EffectMask}; #[test] fn test_handle_ret_with_value() { diff --git a/src/mir/join_ir_vm_bridge/joinir_block_converter.rs b/src/mir/join_ir_vm_bridge/joinir_block_converter.rs index 9b5fadb0..11a503f2 100644 --- a/src/mir/join_ir_vm_bridge/joinir_block_converter.rs +++ b/src/mir/join_ir_vm_bridge/joinir_block_converter.rs @@ -604,12 +604,12 @@ impl JoinIrBlockConverter { fn handle_select( &mut self, - mir_func: &mut MirFunction, + _mir_func: &mut MirFunction, dst: &ValueId, cond: &ValueId, then_val: &ValueId, else_val: &ValueId, - type_hint: &Option, + _type_hint: &Option, ) -> Result<(), JoinIrVmBridgeError> { // Phase 256 P1.5: Select → MirInstruction::Select (direct instruction, not control flow expansion) debug_log!( diff --git a/src/parser/declarations/box_def/members/fields.rs b/src/parser/declarations/box_def/members/fields.rs index 36b32314..e7e79ac5 100644 --- a/src/parser/declarations/box_def/members/fields.rs +++ b/src/parser/declarations/box_def/members/fields.rs @@ -18,7 +18,7 @@ pub(crate) fn try_parse_header_first_field_or_property( fname: String, methods: &mut HashMap, fields: &mut Vec, - weak_fields: &mut Vec, + _weak_fields: &mut Vec, ) -> Result { // Expect ':' Type after name if !p.match_token(&TokenType::COLON) { diff --git a/src/runner/mir_json_emit.rs b/src/runner/mir_json_emit.rs index 1d89f4db..c27dd38f 100644 --- a/src/runner/mir_json_emit.rs +++ b/src/runner/mir_json_emit.rs @@ -426,7 +426,7 @@ pub fn emit_mir_json_for_harness( obj["dst_type"] = t; } insts.push(obj); - if let Some(d) = dst.map(|v| v.as_u32()) {} + if let Some(_d) = dst.map(|v| v.as_u32()) {} } _ => { // Other callee types: emit generic call @@ -504,7 +504,7 @@ pub fn emit_mir_json_for_harness( obj["dst_type"] = t; } insts.push(obj); - if let Some(d) = dst.map(|v| v.as_u32()) {} + if let Some(_d) = dst.map(|v| v.as_u32()) {} } I::NewBox { dst, @@ -872,7 +872,7 @@ pub fn emit_mir_json_for_harness_bin( obj["dst_type"] = t; } insts.push(obj); - if let Some(d) = dst.map(|v| v.as_u32()) {} + if let Some(_d) = dst.map(|v| v.as_u32()) {} } _ => { // Other callee types: emit generic call @@ -906,7 +906,7 @@ pub fn emit_mir_json_for_harness_bin( } } insts.push(obj); - if let Some(d) = dst.map(|v| v.as_u32()) {} + if let Some(_d) = dst.map(|v| v.as_u32()) {} } I::BoxCall { dst, @@ -941,7 +941,7 @@ pub fn emit_mir_json_for_harness_bin( obj["dst_type"] = t; } insts.push(obj); - if let Some(d) = dst.map(|v| v.as_u32()) {} + if let Some(_d) = dst.map(|v| v.as_u32()) {} } I::NewBox { dst, diff --git a/src/runner/modes/llvm/mod.rs b/src/runner/modes/llvm/mod.rs index 06933dc1..f66bd5ef 100644 --- a/src/runner/modes/llvm/mod.rs +++ b/src/runner/modes/llvm/mod.rs @@ -31,7 +31,10 @@ impl NyashRunner { let code = match fs::read_to_string(filename) { Ok(content) => content, Err(e) => { - report::emit_error_and_exit(LlvmRunError::fatal(format!("Error reading file {}: {}", filename, e))); + report::emit_error_and_exit(LlvmRunError::fatal(format!( + "Error reading file {}: {}", + filename, e + ))); } }; @@ -182,7 +185,7 @@ impl NyashRunner { // Execute via LLVM backend (harness preferred) match harness_executor::HarnessExecutorBox::try_execute(&module) { Ok(code) => exit_reporter::ExitReporterBox::emit_and_exit(code), - Err(e) => { + Err(_e) => { // If harness failed, try fallback path match fallback_executor::FallbackExecutorBox::execute(&module) { Ok(code) => exit_reporter::ExitReporterBox::emit_and_exit(code),