aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-php-shim
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-06 19:31:45 +0900
committernsfisis <nsfisis@gmail.com>2026-06-06 19:31:45 +0900
commitd9090c4c52fa29ee1569aedf8be858bf78001d7b (patch)
treecd78e31a6853fb51da4473242552d98add45443d /crates/shirabe-php-shim
parent57e9f6a1c6cf47d222343f2469ecbb91c569f9e1 (diff)
downloadphp-shirabe-d9090c4c52fa29ee1569aedf8be858bf78001d7b.tar.gz
php-shirabe-d9090c4c52fa29ee1569aedf8be858bf78001d7b.tar.zst
php-shirabe-d9090c4c52fa29ee1569aedf8be858bf78001d7b.zip
feat(filesystem): model iterator failure to restore removal retry
RecursiveDirectoryIterator construction can throw UnexpectedValueException; the shim now returns a Result so remove_directory_php can re-create the iterator once after clearstatcache()/usleep, mirroring Composer's retry for the spurious failures in composer/composer#4009. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe-php-shim')
-rw-r--r--crates/shirabe-php-shim/src/lib.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/crates/shirabe-php-shim/src/lib.rs b/crates/shirabe-php-shim/src/lib.rs
index 9b264e2..9282795 100644
--- a/crates/shirabe-php-shim/src/lib.rs
+++ b/crates/shirabe-php-shim/src/lib.rs
@@ -2154,7 +2154,10 @@ impl RecursiveIteratorFileInfo {
}
}
-pub fn recursive_directory_iterator(_path: &str, _flags: i64) -> RecursiveDirectoryIterator {
+pub fn recursive_directory_iterator(
+ _path: &str,
+ _flags: i64,
+) -> Result<RecursiveDirectoryIterator, UnexpectedValueException> {
todo!()
}