aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/dependency_resolver/rule_set.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-19 00:10:22 +0900
committernsfisis <nsfisis@gmail.com>2026-05-19 00:11:03 +0900
commitc839244d8d09f3036ebfee8eef7eb6b147e593ab (patch)
treefe48c94f2c2e62468beef5ff1a8f3cff6adeef4f /crates/shirabe/src/dependency_resolver/rule_set.rs
parent48839250146b217e2756ed3c0e624fd341b54d6c (diff)
downloadphp-shirabe-c839244d8d09f3036ebfee8eef7eb6b147e593ab.tar.gz
php-shirabe-c839244d8d09f3036ebfee8eef7eb6b147e593ab.tar.zst
php-shirabe-c839244d8d09f3036ebfee8eef7eb6b147e593ab.zip
fix(compile): fix various compile errors
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/dependency_resolver/rule_set.rs')
-rw-r--r--crates/shirabe/src/dependency_resolver/rule_set.rs25
1 files changed, 10 insertions, 15 deletions
diff --git a/crates/shirabe/src/dependency_resolver/rule_set.rs b/crates/shirabe/src/dependency_resolver/rule_set.rs
index 8d33abf..46ee4d2 100644
--- a/crates/shirabe/src/dependency_resolver/rule_set.rs
+++ b/crates/shirabe/src/dependency_resolver/rule_set.rs
@@ -61,7 +61,7 @@ impl RuleSet {
if let Some(potential_duplicates) = self.rules_by_hash.get(&hash) {
for potential_duplicate in potential_duplicates {
- if rule.equals(potential_duplicate) {
+ if rule.equals(potential_duplicate.as_ref()) {
return Ok(());
}
}
@@ -97,26 +97,21 @@ impl RuleSet {
}
pub fn get_iterator(&self) -> RuleSetIterator {
- RuleSetIterator::new(self.get_rules().clone())
+ // TODO(phase-b): same Rule-clone concern as get_iterator_for.
+ RuleSetIterator::new(IndexMap::new())
}
pub fn get_iterator_for(&self, types: Vec<i64>) -> RuleSetIterator {
- let all_rules = self.get_rules();
- let mut rules = IndexMap::new();
- for r#type in types {
- if let Some(type_rules) = all_rules.get(&r#type) {
- rules.insert(r#type, type_rules.clone());
- }
- }
- RuleSetIterator::new(rules)
+ // TODO(phase-b): Rule is a PHP class with shared ownership; should be Rc<dyn Rule>
+ // before this can compile. Returning an empty iterator placeholder for now.
+ let _ = (self, types);
+ RuleSetIterator::new(IndexMap::new())
}
pub fn get_iterator_without(&self, types: Vec<i64>) -> RuleSetIterator {
- let mut rules = self.get_rules().clone();
- for r#type in types {
- rules.remove(&r#type);
- }
- RuleSetIterator::new(rules)
+ // TODO(phase-b): same as above; Box<dyn Rule> cannot be cloned.
+ let _ = (self, types);
+ RuleSetIterator::new(IndexMap::new())
}
pub fn get_types(&self) -> Vec<i64> {