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/command/package_discovery_trait.rs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'crates/shirabe/src/command/package_discovery_trait.rs') diff --git a/crates/shirabe/src/command/package_discovery_trait.rs b/crates/shirabe/src/command/package_discovery_trait.rs index e8a56a9..d0574c6 100644 --- a/crates/shirabe/src/command/package_discovery_trait.rs +++ b/crates/shirabe/src/command/package_discovery_trait.rs @@ -21,9 +21,7 @@ use crate::filter::platform_requirement_filter::IgnoreAllPlatformRequirementFilt use crate::filter::platform_requirement_filter::PlatformRequirementFilterFactory; use crate::io::IOInterface; use crate::io::IOInterfaceImmutable; -use crate::package::BasePackage; -use crate::package::CompletePackageInterface; -use crate::package::PackageInterface; +use crate::package::PackageInterfaceHandle; use crate::package::version::VersionParser; use crate::package::version::VersionSelector; use crate::repository::CompositeRepository; @@ -576,7 +574,7 @@ pub trait PackageDiscoveryTrait { &format!( "Package %s has requirements incompatible with your PHP version, PHP extensions and Composer version{}", self.get_platform_exception_details( - candidate.as_rc().borrow().as_package_interface(), + candidate.clone(), platform_repo, ), ), @@ -673,7 +671,7 @@ pub trait PackageDiscoveryTrait { &format!( "Could not find package %s in any version matching your PHP version, PHP extensions and Composer version{}%s", self.get_platform_exception_details( - candidate.as_rc().borrow().as_package_interface(), + candidate.clone(), platform_repo, ), ), @@ -781,9 +779,7 @@ pub trait PackageDiscoveryTrait { if fixed { package.get_pretty_version().to_string() } else { - version_selector.find_recommended_require_version( - package.as_rc().borrow().as_package_interface(), - )? + version_selector.find_recommended_require_version(package.clone())? }, )) } @@ -846,7 +842,7 @@ pub trait PackageDiscoveryTrait { fn get_platform_exception_details( &self, - candidate: &dyn PackageInterface, + candidate: PackageInterfaceHandle, platform_repo: Option<&PlatformRepository>, ) -> String { let mut details: Vec = vec![]; -- cgit v1.3.1