diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-19 21:46:01 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-19 21:46:08 +0900 |
| commit | 5e31fa33c3b5cf726a57a063b8e7a070869250fe (patch) | |
| tree | 98522466966fa7df483cad174ab5fc03db39bc09 /crates/shirabe/src/repository/composite_repository.rs | |
| parent | c839244d8d09f3036ebfee8eef7eb6b147e593ab (diff) | |
| download | php-shirabe-5e31fa33c3b5cf726a57a063b8e7a070869250fe.tar.gz php-shirabe-5e31fa33c3b5cf726a57a063b8e7a070869250fe.tar.zst php-shirabe-5e31fa33c3b5cf726a57a063b8e7a070869250fe.zip | |
fix(compile): fix more random compile errors
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/repository/composite_repository.rs')
| -rw-r--r-- | crates/shirabe/src/repository/composite_repository.rs | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/crates/shirabe/src/repository/composite_repository.rs b/crates/shirabe/src/repository/composite_repository.rs index 4914538..d956cdd 100644 --- a/crates/shirabe/src/repository/composite_repository.rs +++ b/crates/shirabe/src/repository/composite_repository.rs @@ -31,17 +31,16 @@ impl CompositeRepository { &self.repositories } - pub fn remove_package(&mut self, package: &dyn PackageInterface) { - for repository in &mut self.repositories { - // TODO(phase-b): only call remove_package on WritableRepositoryInterface implementors - let _ = repository.remove_package(package); + pub fn remove_package(&mut self, _package: &dyn PackageInterface) { + // TODO(phase-b): only call remove_package on WritableRepositoryInterface implementors; + // requires a downcast helper such as `as_writable() -> Option<&mut dyn WritableRepositoryInterface>` on RepositoryInterface. + for _repository in &mut self.repositories { + todo!() } } pub fn add_repository(&mut self, repository: Box<dyn RepositoryInterface>) { - if let Some(composite) = - (repository.as_any() as &dyn Any).downcast_ref::<CompositeRepository>() - { + if let Some(composite) = repository.as_any().downcast_ref::<CompositeRepository>() { for repo in composite.get_repositories() { self.repositories.push(repo.clone_box()); } @@ -78,11 +77,11 @@ impl RepositoryInterface for CompositeRepository { fn find_package( &self, - name: String, + name: &str, constraint: FindPackageConstraint, ) -> Option<Box<dyn BasePackage>> { for repository in &self.repositories { - let package = repository.find_package(name.clone(), constraint.clone()); + let package = repository.find_package(name, constraint.clone()); if package.is_some() { return package; } @@ -92,12 +91,12 @@ impl RepositoryInterface for CompositeRepository { fn find_packages( &self, - name: String, + name: &str, constraint: Option<FindPackageConstraint>, ) -> Vec<Box<dyn BasePackage>> { let mut packages = vec![]; for repository in &self.repositories { - packages.extend(repository.find_packages(name.clone(), constraint.clone())); + packages.extend(repository.find_packages(name, constraint.clone())); } packages } |
