From 92d2199afcecd0056e82d2559700769715401ef0 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Thu, 6 Aug 2026 03:46:41 +0900 Subject: refactor(php-shim): take filesystem paths as impl AsRef The shim's filesystem entry points took `&str` even though each one resolves to a local path through `std::fs` or a syscall, so callers holding a `PathBuf` had to stringify it at the call site. They now take `impl AsRef`, the form `file_exists`, `is_dir`, `unlink` and the rest of the already-converted set use. `Phar`, `PharData` and `ZipArchive` keep their archive path as a `PathBuf`. `PharData::compress` names the compressed sibling by appending the suffix to the file name rather than formatting the path into a `String`. Arguments PHP resolves through a stream wrapper (`fopen`, `file_put_contents`, `include`) still take `&str`, as do the byte-string operations (`dirname`, `basename`, `pathinfo`) and archive-internal entry names, which are `/`-joined logical names rather than OS paths. Co-Authored-By: Claude Opus 5 (1M context) --- crates/shirabe/src/autoload/autoload_generator.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'crates/shirabe/src/autoload') diff --git a/crates/shirabe/src/autoload/autoload_generator.rs b/crates/shirabe/src/autoload/autoload_generator.rs index 70740a59..ef026d72 100644 --- a/crates/shirabe/src/autoload/autoload_generator.rs +++ b/crates/shirabe/src/autoload/autoload_generator.rs @@ -179,12 +179,12 @@ impl AutoloadGenerator { // Fixes failing Windows realpath() implementation. // See https://bugs.php.net/bug.php?id=72738 let base_path = filesystem.normalize_path( - &realpath(&realpath(&Platform::get_cwd(false).unwrap_or_default()).unwrap_or_default()) + &realpath(realpath(Platform::get_cwd(false).unwrap_or_default()).unwrap_or_default()) .unwrap_or_default(), ); let vendor_path = filesystem.normalize_path( &realpath( - &realpath(config.get("vendor-dir").as_string().unwrap_or("")).unwrap_or_default(), + realpath(config.get("vendor-dir").as_string().unwrap_or("")).unwrap_or_default(), ) .unwrap_or_default(), ); @@ -692,7 +692,7 @@ impl AutoloadGenerator { } else { format!( "{}/{}", - realpath(&Platform::get_cwd(false).unwrap_or_default()).unwrap_or_default(), + realpath(Platform::get_cwd(false).unwrap_or_default()).unwrap_or_default(), dir ) }; @@ -1853,7 +1853,7 @@ class ComposerStaticInit{} install_path.clone() }; - let resolved_path = realpath(&format!( + let resolved_path = realpath(format!( "{}/{}", install_path_for_resolve, updir.clone().unwrap_or_default() -- cgit v1.3.1