From efe5bdb1987411a473d4af15451a376d20928245 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Fri, 12 Jun 2026 03:19:34 +0900 Subject: refactor(php-shim): replace literal sprintf calls with format! Convert every sprintf() call with a compile-time literal format string to format!, implementing Display for PhpMixed (delegating to php_to_string) so PhpMixed values render with PHP string semantics through {}. Also merge the format!-wrapped and conditional-literal dynamic sites into single format! calls. Genuinely runtime format strings (table styles, configurable error messages, command synopsis, progress-bar modifiers, regex-built messages) still go through sprintf. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../src/dependency_resolver/pool_builder.rs | 36 ++++++++++------------ crates/shirabe/src/dependency_resolver/solver.rs | 6 ++-- 2 files changed, 19 insertions(+), 23 deletions(-) (limited to 'crates/shirabe/src/dependency_resolver') diff --git a/crates/shirabe/src/dependency_resolver/pool_builder.rs b/crates/shirabe/src/dependency_resolver/pool_builder.rs index b96dc79..a517488 100644 --- a/crates/shirabe/src/dependency_resolver/pool_builder.rs +++ b/crates/shirabe/src/dependency_resolver/pool_builder.rs @@ -1086,21 +1086,19 @@ impl PoolBuilder { } self.io.write3( - &sprintf( - "Pool optimizer completed in %.3f seconds", - &[(microtime(true) - before).into()], + &format!( + "Pool optimizer completed in {:.3} seconds", + (microtime(true) - before), ), true, io_interface::VERY_VERBOSE, ); self.io.write3( - &sprintf( - "Found %s package versions referenced in your dependency graph. %s (%d%%) were optimized away.", - &[ - number_format(total, 0, ".", ",").into(), - number_format(filtered, 0, ".", ",").into(), - round(100.0 / total * filtered, 0).into(), - ], + &format!( + "Found {} package versions referenced in your dependency graph. {} ({}%) were optimized away.", + number_format(total, 0, ".", ","), + number_format(filtered, 0, ".", ","), + round(100.0 / total * filtered, 0), ), true, io_interface::VERY_VERBOSE, @@ -1138,21 +1136,19 @@ impl PoolBuilder { } self.io.write3( - &sprintf( - "Security advisory pool filter completed in %.3f seconds", - &[(microtime(true) - before).into()], + &format!( + "Security advisory pool filter completed in {:.3} seconds", + (microtime(true) - before), ), true, io_interface::VERY_VERBOSE, ); self.io.write3( - &sprintf( - "Found %s package versions referenced in your dependency graph. %s (%d%%) were filtered away.", - &[ - number_format(total, 0, ".", ",").into(), - number_format(filtered, 0, ".", ",").into(), - round(100.0 / total * filtered, 0).into(), - ], + &format!( + "Found {} package versions referenced in your dependency graph. {} ({}%) were filtered away.", + number_format(total, 0, ".", ","), + number_format(filtered, 0, ".", ","), + round(100.0 / total * filtered, 0), ), true, io_interface::VERY_VERBOSE, diff --git a/crates/shirabe/src/dependency_resolver/solver.rs b/crates/shirabe/src/dependency_resolver/solver.rs index 03dd575..1278970 100644 --- a/crates/shirabe/src/dependency_resolver/solver.rs +++ b/crates/shirabe/src/dependency_resolver/solver.rs @@ -263,9 +263,9 @@ impl Solver { self.run_sat()?; self.io.write_error3("", true, crate::io::DEBUG); self.io.write_error3( - &sprintf( - "Dependency resolution completed in %.3f seconds", - &[PhpMixed::Float(microtime(true) - before)], + &format!( + "Dependency resolution completed in {:.3} seconds", + microtime(true) - before, ), true, crate::io::VERBOSE, -- cgit v1.3.1