aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-17 20:36:04 +0900
committernsfisis <nsfisis@gmail.com>2026-05-17 20:36:13 +0900
commit07c1ef1aea3a0c60484fdada89de7c5a3b7cf7c6 (patch)
treeb8c6fc6692534ca5e9cf23ffcd5a53fcb3bce509 /crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs
parent465a3a1bd96e15d7807d1bd05294299eee3427df (diff)
downloadphp-shirabe-07c1ef1aea3a0c60484fdada89de7c5a3b7cf7c6.tar.gz
php-shirabe-07c1ef1aea3a0c60484fdada89de7c5a3b7cf7c6.tar.zst
php-shirabe-07c1ef1aea3a0c60484fdada89de7c5a3b7cf7c6.zip
fix(compile): make Rule trait dyn-compatible by extracting RuleBase
Removed the static fn new() from the Rule trait (which prevented dyn compatibility) and moved it into a new RuleBase struct.
Diffstat (limited to 'crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs')
-rw-r--r--crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs b/crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs
index 33ba3ca..d198a27 100644
--- a/crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs
+++ b/crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs
@@ -4,12 +4,13 @@ use shirabe_php_shim::PhpMixed;
use crate::dependency_resolver::generic_rule::RuleLiterals;
use crate::dependency_resolver::request::Request;
-use crate::dependency_resolver::rule::{ReasonData, Rule};
+use crate::dependency_resolver::rule::{ReasonData, Rule, RuleBase};
use anyhow::Result;
use shirabe_php_shim::{PHP_VERSION_ID, RuntimeException, hash_raw};
#[derive(Debug)]
pub struct MultiConflictRule {
+ inner: RuleBase,
pub(crate) literals: Vec<i64>,
}
@@ -31,7 +32,7 @@ impl MultiConflictRule {
literals.sort();
Ok(Self {
- inner: Rule::new(reason, reason_data),
+ inner: RuleBase::new(reason, reason_data),
literals,
})
}