From ba22d3a98e8f3fbf50274180bfeb870a10d9ae55 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 6 Jun 2026 13:52:48 +0900 Subject: feat(archivable-files-finder): wire exclude closure into Finder::filter Add a Finder::filter(Box bool>) stub method and route the exclude closure through it, matching PHP's ->in()->filter() chain. FnMut faithfully represents PHP's stateful \Closure. Co-Authored-By: Claude Opus 4.8 --- .../shirabe-external-packages/src/symfony/component/finder/finder.rs | 4 ++++ crates/shirabe/src/package/archiver/archivable_files_finder.rs | 3 +-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/crates/shirabe-external-packages/src/symfony/component/finder/finder.rs b/crates/shirabe-external-packages/src/symfony/component/finder/finder.rs index 6622a9a..9d1e9e6 100644 --- a/crates/shirabe-external-packages/src/symfony/component/finder/finder.rs +++ b/crates/shirabe-external-packages/src/symfony/component/finder/finder.rs @@ -44,6 +44,10 @@ impl Finder { todo!() } + pub fn filter(&mut self, _closure: Box bool>) -> &mut Self { + todo!() + } + pub fn follow_links(&mut self) -> &mut Self { todo!() } diff --git a/crates/shirabe/src/package/archiver/archivable_files_finder.rs b/crates/shirabe/src/package/archiver/archivable_files_finder.rs index 2e06e4d..09041a3 100644 --- a/crates/shirabe/src/package/archiver/archivable_files_finder.rs +++ b/crates/shirabe/src/package/archiver/archivable_files_finder.rs @@ -74,11 +74,10 @@ impl ArchivableFilesFinder { finder .r#in(&sources) - // TODO(phase-b): symfony Finder filter takes Box bool>; signature not yet wired + .filter(Box::new(filter)) .ignore_vcs(true) .ignore_dot_files(false) .sort_by_name(); - let _ = filter; let inner_iter: Box> = Box::new(finder.get_iterator()); -- cgit v1.3.1