From 5e31fa33c3b5cf726a57a063b8e7a070869250fe Mon Sep 17 00:00:00 2001 From: nsfisis Date: Tue, 19 May 2026 21:46:01 +0900 Subject: fix(compile): fix more random compile errors Co-Authored-By: Claude Opus 4.7 (1M context) --- .../shirabe/src/repository/composite_repository.rs | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'crates/shirabe/src/repository/composite_repository.rs') 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) { - if let Some(composite) = - (repository.as_any() as &dyn Any).downcast_ref::() - { + if let Some(composite) = repository.as_any().downcast_ref::() { 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> { 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, ) -> Vec> { 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 } -- cgit v1.3.1