aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/dependency_resolver/problem.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-08-08 03:24:27 +0900
committernsfisis <nsfisis@gmail.com>2026-08-08 03:25:02 +0900
commitb4f16a379e919eefc2cb37bcddee589c0f26eaad (patch)
treefcd970b83deb89a04fb5daf2c107d6f75b34e0f2 /crates/shirabe/src/dependency_resolver/problem.rs
parentda0d38a8e16ebefd59ef5291b5788e6238cc78ba (diff)
downloadphp-shirabe-b4f16a379e919eefc2cb37bcddee589c0f26eaad.tar.gz
php-shirabe-b4f16a379e919eefc2cb37bcddee589c0f26eaad.tar.zst
php-shirabe-b4f16a379e919eefc2cb37bcddee589c0f26eaad.zip
refactor(php-shim): dispatch spl_object_hash on Rc and references
Getting a rule's identity meant spl_object_hash(&*rule.borrow()), so the solver borrowed a RefCell just to read an address, and a second function spl_object_hash_process existed because one generic fn cannot tell Rc<T> from &T. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/dependency_resolver/problem.rs')
-rw-r--r--crates/shirabe/src/dependency_resolver/problem.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/crates/shirabe/src/dependency_resolver/problem.rs b/crates/shirabe/src/dependency_resolver/problem.rs
index f9e525bf..3c69babe 100644
--- a/crates/shirabe/src/dependency_resolver/problem.rs
+++ b/crates/shirabe/src/dependency_resolver/problem.rs
@@ -50,7 +50,7 @@ impl Problem {
/// Add a rule as a reason
pub fn add_rule(&mut self, rule: std::rc::Rc<std::cell::RefCell<Rule>>) {
- let id = spl_object_hash(&*rule.borrow());
+ let id = spl_object_hash(rule.clone());
self.add_reason(id, rule);
}