diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-17 20:36:04 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-17 20:36:13 +0900 |
| commit | 07c1ef1aea3a0c60484fdada89de7c5a3b7cf7c6 (patch) | |
| tree | b8c6fc6692534ca5e9cf23ffcd5a53fcb3bce509 /crates/shirabe/src/dependency_resolver/generic_rule.rs | |
| parent | 465a3a1bd96e15d7807d1bd05294299eee3427df (diff) | |
| download | php-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/generic_rule.rs')
| -rw-r--r-- | crates/shirabe/src/dependency_resolver/generic_rule.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/crates/shirabe/src/dependency_resolver/generic_rule.rs b/crates/shirabe/src/dependency_resolver/generic_rule.rs index 1e14020..19974b6 100644 --- a/crates/shirabe/src/dependency_resolver/generic_rule.rs +++ b/crates/shirabe/src/dependency_resolver/generic_rule.rs @@ -1,18 +1,19 @@ //! ref: composer/src/Composer/DependencyResolver/GenericRule.php -use crate::dependency_resolver::rule::Rule; +use crate::dependency_resolver::rule::{Rule, RuleBase}; use anyhow::Result; use shirabe_php_shim::{PHP_VERSION_ID, PhpMixed, RuntimeException, hash_raw, implode, unpack}; use super::{request::Request, rule::ReasonData}; pub struct GenericRule { + inner: RuleBase, pub(crate) literals: Vec<i64>, } impl GenericRule { pub fn new(mut literals: Vec<i64>, reason: PhpMixed, reason_data: PhpMixed) -> Self { - let inner = Rule::new(reason, reason_data); + let inner = RuleBase::new(reason, reason_data); literals.sort(); Self { inner, literals } } |
