aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/repository/composite_repository.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-19 21:46:01 +0900
committernsfisis <nsfisis@gmail.com>2026-05-19 21:46:08 +0900
commit5e31fa33c3b5cf726a57a063b8e7a070869250fe (patch)
tree98522466966fa7df483cad174ab5fc03db39bc09 /crates/shirabe/src/repository/composite_repository.rs
parentc839244d8d09f3036ebfee8eef7eb6b147e593ab (diff)
downloadphp-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.rs21
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
}