From d9dca94603766712b5989ea8169c9e286d27a60c Mon Sep 17 00:00:00 2001 From: nsfisis Date: Thu, 6 Aug 2026 10:37:12 +0900 Subject: refactor(php-shim): take &str and return String from pathinfo pathinfo only ever receives a string and only ever returns one for the single-component options it supports, so the PhpMixed wrapping forced every call site to pack and unpack the value again. Co-Authored-By: Claude Opus 5 (1M context) --- .../src/symfony/process/executable_finder.rs | 26 ++++++++-------------- 1 file changed, 9 insertions(+), 17 deletions(-) (limited to 'crates/shirabe-external-packages/src/symfony') diff --git a/crates/shirabe-external-packages/src/symfony/process/executable_finder.rs b/crates/shirabe-external-packages/src/symfony/process/executable_finder.rs index d4891af0..3c44b4ad 100644 --- a/crates/shirabe-external-packages/src/symfony/process/executable_finder.rs +++ b/crates/shirabe-external-packages/src/symfony/process/executable_finder.rs @@ -1,7 +1,5 @@ //! ref: composer/vendor/symfony/process/ExecutableFinder.php -use shirabe_php_shim::PhpMixed; - const CMD_BUILTINS: &[&str] = &[ "assoc", "break", "call", "cd", "chdir", "cls", "color", "copy", "date", "del", "dir", "echo", "endlocal", "erase", "exit", "for", "ftype", "goto", "help", "if", "label", "md", "mkdir", @@ -58,21 +56,15 @@ impl ExecutableFinder { }; suffixes.extend(exts); } - suffixes = if !shirabe_php_shim::pathinfo( - PhpMixed::String(name.to_string()), - shirabe_php_shim::PATHINFO_EXTENSION, - ) - .as_string() - .unwrap_or("") - .is_empty() - { - let mut s = vec![String::new()]; - s.extend(suffixes); - s - } else { - suffixes.push(String::new()); - suffixes - }; + suffixes = + if !shirabe_php_shim::pathinfo(name, shirabe_php_shim::PATHINFO_EXTENSION).is_empty() { + let mut s = vec![String::new()]; + s.extend(suffixes); + s + } else { + suffixes.push(String::new()); + suffixes + }; for suffix in &suffixes { for dir in &dirs { let dir = if dir.is_empty() { "." } else { dir.as_str() }; -- cgit v1.3.1