aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/plugin/pre_pool_create_event.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-25 00:58:20 +0900
committernsfisis <nsfisis@gmail.com>2026-05-25 00:58:36 +0900
commit1921f173ea219cb4b25847294d2d3fa465550fbb (patch)
tree0d30486a2cb9a0c106e5d5827be3f655c60cd871 /crates/shirabe/src/plugin/pre_pool_create_event.rs
parentdbdecaf5a1c54a876b7ee0153d58dd39b1080f97 (diff)
downloadphp-shirabe-1921f173ea219cb4b25847294d2d3fa465550fbb.tar.gz
php-shirabe-1921f173ea219cb4b25847294d2d3fa465550fbb.tar.zst
php-shirabe-1921f173ea219cb4b25847294d2d3fa465550fbb.zip
refactor(package): introduce Rc<RefCell<_>> handles for packages
PHP packages have reference semantics, so introduce shared-ownership handles over an AnyPackage enum (PackageInterfaceHandle and friends) and replace Box<dyn PackageInterface> throughout. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/plugin/pre_pool_create_event.rs')
-rw-r--r--crates/shirabe/src/plugin/pre_pool_create_event.rs18
1 files changed, 9 insertions, 9 deletions
diff --git a/crates/shirabe/src/plugin/pre_pool_create_event.rs b/crates/shirabe/src/plugin/pre_pool_create_event.rs
index f4426f7..2bbaa6c 100644
--- a/crates/shirabe/src/plugin/pre_pool_create_event.rs
+++ b/crates/shirabe/src/plugin/pre_pool_create_event.rs
@@ -4,7 +4,7 @@ use indexmap::IndexMap;
use crate::dependency_resolver::Request;
use crate::event_dispatcher::Event;
-use crate::package::BasePackage;
+use crate::package::BasePackageHandle;
use crate::repository::RepositoryInterface;
#[derive(Debug)]
@@ -16,8 +16,8 @@ pub struct PrePoolCreateEvent {
stability_flags: IndexMap<String, i64>,
root_aliases: IndexMap<String, IndexMap<String, IndexMap<String, String>>>,
root_references: IndexMap<String, String>,
- packages: Vec<Box<dyn BasePackage>>,
- unacceptable_fixed_packages: Vec<Box<dyn BasePackage>>,
+ packages: Vec<BasePackageHandle>,
+ unacceptable_fixed_packages: Vec<BasePackageHandle>,
}
impl PrePoolCreateEvent {
@@ -34,8 +34,8 @@ impl PrePoolCreateEvent {
stability_flags: IndexMap<String, i64>,
root_aliases: IndexMap<String, IndexMap<String, IndexMap<String, String>>>,
root_references: IndexMap<String, String>,
- packages: Vec<Box<dyn BasePackage>>,
- unacceptable_fixed_packages: Vec<Box<dyn BasePackage>>,
+ packages: Vec<BasePackageHandle>,
+ unacceptable_fixed_packages: Vec<BasePackageHandle>,
) -> Self {
Self {
inner: Event::new(name, vec![], IndexMap::new()),
@@ -76,19 +76,19 @@ impl PrePoolCreateEvent {
&self.root_references
}
- pub fn get_packages(&self) -> &Vec<Box<dyn BasePackage>> {
+ pub fn get_packages(&self) -> &Vec<BasePackageHandle> {
&self.packages
}
- pub fn get_unacceptable_fixed_packages(&self) -> &Vec<Box<dyn BasePackage>> {
+ pub fn get_unacceptable_fixed_packages(&self) -> &Vec<BasePackageHandle> {
&self.unacceptable_fixed_packages
}
- pub fn set_packages(&mut self, packages: Vec<Box<dyn BasePackage>>) {
+ pub fn set_packages(&mut self, packages: Vec<BasePackageHandle>) {
self.packages = packages;
}
- pub fn set_unacceptable_fixed_packages(&mut self, packages: Vec<Box<dyn BasePackage>>) {
+ pub fn set_unacceptable_fixed_packages(&mut self, packages: Vec<BasePackageHandle>) {
self.unacceptable_fixed_packages = packages;
}
}