aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/dependency_resolver/rule_set.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-17 17:44:03 +0900
committernsfisis <nsfisis@gmail.com>2026-05-17 17:44:03 +0900
commit1fe1cd3fe9da3f34d8529a0c4cc89fdc61af5065 (patch)
tree1303e9577e4fc580805fc9ab435bb8f90801233e /crates/shirabe/src/dependency_resolver/rule_set.rs
parentcb2adb32c90b4150c96518ec5be152be70bcb792 (diff)
downloadphp-shirabe-1fe1cd3fe9da3f34d8529a0c4cc89fdc61af5065.tar.gz
php-shirabe-1fe1cd3fe9da3f34d8529a0c4cc89fdc61af5065.tar.zst
php-shirabe-1fe1cd3fe9da3f34d8529a0c4cc89fdc61af5065.zip
fix(compile): add dyn keyword to all trait object usages (E0782)
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.rs14
1 files changed, 7 insertions, 7 deletions
diff --git a/crates/shirabe/src/dependency_resolver/rule_set.rs b/crates/shirabe/src/dependency_resolver/rule_set.rs
index 4fc7928..8d33abf 100644
--- a/crates/shirabe/src/dependency_resolver/rule_set.rs
+++ b/crates/shirabe/src/dependency_resolver/rule_set.rs
@@ -11,10 +11,10 @@ use crate::repository::repository_set::RepositorySet;
#[derive(Debug)]
pub struct RuleSet {
- pub rule_by_id: IndexMap<i64, Rule>,
- pub(crate) rules: IndexMap<i64, Vec<Rule>>,
+ pub rule_by_id: IndexMap<i64, Box<dyn Rule>>,
+ pub(crate) rules: IndexMap<i64, Vec<Box<dyn Rule>>>,
pub(crate) next_rule_id: i64,
- pub(crate) rules_by_hash: IndexMap<String, Vec<Rule>>,
+ pub(crate) rules_by_hash: IndexMap<String, Vec<Box<dyn Rule>>>,
}
impl RuleSet {
@@ -47,7 +47,7 @@ impl RuleSet {
Self::types().into_keys().collect()
}
- pub fn add(&mut self, rule: Rule, r#type: i64) -> anyhow::Result<()> {
+ pub fn add(&mut self, rule: Box<dyn Rule>, r#type: i64) -> anyhow::Result<()> {
let types = Self::types();
if !types.contains_key(&r#type) {
return Err(OutOfBoundsException {
@@ -88,11 +88,11 @@ impl RuleSet {
self.next_rule_id
}
- pub fn rule_by_id(&self, id: i64) -> &Rule {
- &self.rule_by_id[&id]
+ pub fn rule_by_id(&self, id: i64) -> &dyn Rule {
+ &*self.rule_by_id[&id]
}
- pub fn get_rules(&self) -> &IndexMap<i64, Vec<Rule>> {
+ pub fn get_rules(&self) -> &IndexMap<i64, Vec<Box<dyn Rule>>> {
&self.rules
}