aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/command/package_discovery_trait.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/command/package_discovery_trait.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/command/package_discovery_trait.rs')
-rw-r--r--crates/shirabe/src/command/package_discovery_trait.rs14
1 files changed, 5 insertions, 9 deletions
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<String> = vec![];