aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/composer.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-22 04:19:14 +0900
committernsfisis <nsfisis@gmail.com>2026-05-22 04:19:25 +0900
commit2a1696906344cb4da768a940bf8b1f89bbc82b47 (patch)
tree9e37f93baaa9858037ab3a25b13a676f07ccb3a9 /crates/shirabe/src/composer.rs
parent6739da8a8e271a82d1bf8ca79bba58640ae6e743 (diff)
downloadphp-shirabe-2a1696906344cb4da768a940bf8b1f89bbc82b47.tar.gz
php-shirabe-2a1696906344cb4da768a940bf8b1f89bbc82b47.tar.zst
php-shirabe-2a1696906344cb4da768a940bf8b1f89bbc82b47.zip
refactor: share Pool via Rc<RefCell>
Convert Pool to Rc<RefCell<Pool>> so Solver, Decisions, and RuleSetGenerator share it, resolving the todo!() placeholders that blocked the dependency resolver (Phase C shared ownership). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/composer.rs')
-rw-r--r--crates/shirabe/src/composer.rs6
1 files changed, 2 insertions, 4 deletions
diff --git a/crates/shirabe/src/composer.rs b/crates/shirabe/src/composer.rs
index 9f420ef..2da4639 100644
--- a/crates/shirabe/src/composer.rs
+++ b/crates/shirabe/src/composer.rs
@@ -451,9 +451,7 @@ impl PartialComposerHandle {
/// Downcast to a full Composer handle. PHP `$composer instanceof Composer`.
pub fn as_full(&self) -> Option<ComposerHandle> {
if self.0.borrow().is_full() {
- Some(ComposerHandle::from_rc_unchecked(std::rc::Rc::clone(
- &self.0,
- )))
+ Some(ComposerHandle::from_rc_unchecked(self.0.clone()))
} else {
None
}
@@ -507,7 +505,7 @@ impl ComposerHandle {
}
pub fn upcast(&self) -> PartialComposerHandle {
- PartialComposerHandle::from_rc(std::rc::Rc::clone(&self.0))
+ PartialComposerHandle::from_rc(self.0.clone())
}
pub fn downgrade(&self) -> ComposerWeakHandle {