diff options
Diffstat (limited to 'crates/shirabe/src/dependency_resolver/rule_watch_node.rs')
| -rw-r--r-- | crates/shirabe/src/dependency_resolver/rule_watch_node.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/crates/shirabe/src/dependency_resolver/rule_watch_node.rs b/crates/shirabe/src/dependency_resolver/rule_watch_node.rs index 12dd83f..6c1bada 100644 --- a/crates/shirabe/src/dependency_resolver/rule_watch_node.rs +++ b/crates/shirabe/src/dependency_resolver/rule_watch_node.rs @@ -57,6 +57,12 @@ impl RuleWatchNode { self.rule.as_ref() } + /// Owned clone for callers that need a `Box<dyn Rule>`. Default impl in + /// `RuleLiterals` returns `todo!()`; concrete rule impls override it. + pub fn get_rule_boxed(&self) -> Box<dyn crate::dependency_resolver::rule::Rule> { + self.rule.clone_rule_box() + } + pub fn get_other_watch(&self, literal: i64) -> i64 { if self.watch1 == literal { return self.watch2; |
