From cc5d73c05a0abca2eebcc8a6afa0b1543ee49850 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 27 May 2026 00:49:33 +0900 Subject: refactor(package): pass package handles by value throughout Co-Authored-By: Claude Opus 4.7 (1M context) --- crates/shirabe/src/dependency_resolver/problem.rs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'crates/shirabe/src/dependency_resolver/problem.rs') 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> + // TODO(phase-b): get_matching_security_advisories needs Vec // 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 = pool .get_security_advisory_identifiers_for_package_version(package_name, constraint) -- cgit v1.3.1