diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-27 00:49:33 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-27 00:54:09 +0900 |
| commit | cc5d73c05a0abca2eebcc8a6afa0b1543ee49850 (patch) | |
| tree | 091a0d01232d927f13f3ab22700701804980f231 /crates/shirabe/src/dependency_resolver/rule.rs | |
| parent | c5850d62beabef0a6bcc4cf6a179589c0ba8f405 (diff) | |
| download | php-shirabe-cc5d73c05a0abca2eebcc8a6afa0b1543ee49850.tar.gz php-shirabe-cc5d73c05a0abca2eebcc8a6afa0b1543ee49850.tar.zst php-shirabe-cc5d73c05a0abca2eebcc8a6afa0b1543ee49850.zip | |
refactor(package): pass package handles by value throughout
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/dependency_resolver/rule.rs')
| -rw-r--r-- | crates/shirabe/src/dependency_resolver/rule.rs | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/crates/shirabe/src/dependency_resolver/rule.rs b/crates/shirabe/src/dependency_resolver/rule.rs index afb0318..1681509 100644 --- a/crates/shirabe/src/dependency_resolver/rule.rs +++ b/crates/shirabe/src/dependency_resolver/rule.rs @@ -234,9 +234,9 @@ impl Rule { if let Some(_locked_repo) = locked_repo { let packages: Vec<BasePackageHandle> = todo!("locked_repo.get_packages()"); for package in packages { - let p: &BasePackageHandle = &package; + let p = package.clone(); if p.get_name() == link.get_target() { - if pool.is_unacceptable_fixed_or_locked_package(p) { + if pool.is_unacceptable_fixed_or_locked_package(p.clone()) { return true; } if !link.get_constraint().matches( @@ -250,8 +250,7 @@ impl Rule { return true; } // required package was locked but has been unlocked and still matches - if !request.is_locked_package(todo!("package as &dyn PackageInterface")) - { + if !request.is_locked_package(p) { return true; } break; @@ -275,9 +274,9 @@ impl Rule { if let Some(_locked_repo) = locked_repo { let packages: Vec<BasePackageHandle> = todo!("locked_repo.get_packages()"); for package in packages { - let p: &BasePackageHandle = &package; + let p = package.clone(); if p.get_name() == *package_name { - if pool.is_unacceptable_fixed_or_locked_package(p) { + if pool.is_unacceptable_fixed_or_locked_package(p.clone()) { return true; } if !constraint.matches( @@ -378,8 +377,7 @@ impl Rule { .collect(); if packages_non_alias.len() == 1 { let package = &packages_non_alias[0]; - // TODO(phase-b): request.is_locked_package signature - if request.is_locked_package(todo!("package as &dyn PackageInterface")) { + if request.is_locked_package(package.clone()) { return format!( "{} is locked to version {} and an update of this package was not requested.", package.get_pretty_name(), @@ -409,7 +407,7 @@ impl Rule { }; let package = self.deduplicate_default_branch_alias(package_in); - if request.is_locked_package(todo!("package as &dyn PackageInterface")) { + if request.is_locked_package(package.clone()) { return format!( "{} is locked to version {} and an update of this package was not requested.", package.get_pretty_name(), @@ -504,8 +502,7 @@ impl Rule { requires.push(pool.literal_to_package(*literal)); } - let text = - link.get_pretty_string(source_package.as_rc().borrow().as_package_interface()); + let text = link.get_pretty_string(source_package.clone()); if requires.len() > 0 { format!( "{} -> satisfiable by {}.", |
