aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/dependency_resolver/problem.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-27 00:49:33 +0900
committernsfisis <nsfisis@gmail.com>2026-05-27 00:54:09 +0900
commitcc5d73c05a0abca2eebcc8a6afa0b1543ee49850 (patch)
tree091a0d01232d927f13f3ab22700701804980f231 /crates/shirabe/src/dependency_resolver/problem.rs
parentc5850d62beabef0a6bcc4cf6a179589c0ba8f405 (diff)
downloadphp-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/problem.rs')
-rw-r--r--crates/shirabe/src/dependency_resolver/problem.rs12
1 files changed, 4 insertions, 8 deletions
diff --git a/crates/shirabe/src/dependency_resolver/problem.rs b/crates/shirabe/src/dependency_resolver/problem.rs
index 509a0dc..58d47f1 100644
--- a/crates/shirabe/src/dependency_resolver/problem.rs
+++ b/crates/shirabe/src/dependency_resolver/problem.rs
@@ -156,9 +156,7 @@ impl Problem {
// TODO(phase-b): reason_data is a Link.
let source = rule.get_source_package(pool).unwrap();
let link_pretty = match rule.get_reason_data() {
- rule::ReasonData::Link(link) => {
- link.get_pretty_string(source.as_rc().borrow().as_package_interface())
- }
+ rule::ReasonData::Link(link) => link.get_pretty_string(source.clone()),
_ => String::new(),
};
format!("{}//{}", source.get_pretty_string(), link_pretty)
@@ -558,9 +556,7 @@ impl Problem {
for (_key, package) in request.get_locked_packages() {
if package.get_name().as_str() == package_name {
locked_package = Some(package.clone());
- // TODO(phase-c): wire Pool::is_unacceptable_fixed_or_locked_package(package) here;
- // the locked package handle and the pool's identity check are now both handle-based.
- if todo!("is_unacceptable_fixed_or_locked_package with a request package handle") {
+ if pool.is_unacceptable_fixed_or_locked_package(package.clone()) {
return (
"- ".to_string(),
format!(
@@ -807,9 +803,9 @@ impl Problem {
}
if pool.is_security_removed_package_version(package_name, constraint) {
- // TODO(phase-b): get_matching_security_advisories needs Vec<Box<dyn PackageInterface>>
+ // TODO(phase-b): get_matching_security_advisories needs Vec<PackageInterfaceHandle>
// and SecurityAdvisory.inner.advisory_id is on the private inner field.
- // Convert packages to PackageInterface boxes and adjust SecurityAdvisory accessor first.
+ // Convert packages to PackageInterfaceHandle and adjust SecurityAdvisory accessor first.
let _ = repository_set;
let advisories_list: Vec<String> = pool
.get_security_advisory_identifiers_for_package_version(package_name, constraint)