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/problem.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/problem.rs')
| -rw-r--r-- | crates/shirabe/src/dependency_resolver/problem.rs | 12 |
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) |
