diff options
Diffstat (limited to 'crates/shirabe/src/command/update_command.rs')
| -rw-r--r-- | crates/shirabe/src/command/update_command.rs | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/crates/shirabe/src/command/update_command.rs b/crates/shirabe/src/command/update_command.rs index b2dab1c..e7a7437 100644 --- a/crates/shirabe/src/command/update_command.rs +++ b/crates/shirabe/src/command/update_command.rs @@ -718,19 +718,17 @@ impl UpdateCommand { IndexMap::new(), IndexMap::new(), ); - // TODO(phase-b): array_filter requires Clone on Box<dyn RepositoryInterface> - // which PHP classes must not implement. Skipping the repo filter for now. - let _ = &composer + let repositories: Vec<crate::repository::RepositoryInterfaceHandle> = composer .get_repository_manager() .borrow() - .get_repositories(); - let _ = |repository: &crate::repository::RepositoryInterfaceHandle| -> bool { - !repository.is::<PlatformRepository>() - }; + .get_repositories() + .iter() + .filter(|repository| !repository.is::<PlatformRepository>()) + .cloned() + .collect(); repository_set.add_repository(crate::repository::RepositoryInterfaceHandle::new( - CompositeRepository::new(Vec::new()), + CompositeRepository::new(repositories), ))?; - let _ = array_filter::<i64, fn(&i64) -> bool>; VersionSelector::new( std::rc::Rc::new(std::cell::RefCell::new(repository_set)), |
