pub struct ConflictResolver;Expand description
Detects and resolves conflicts between rules
Implementations§
Source§impl ConflictResolver
impl ConflictResolver
Sourcepub fn detect_conflict(rule1: &Rule, rule2: &Rule) -> bool
pub fn detect_conflict(rule1: &Rule, rule2: &Rule) -> bool
Detect if two rules conflict
Sourcepub fn find_conflicts(rules: &[Rule]) -> Vec<(Rule, Rule)>
pub fn find_conflicts(rules: &[Rule]) -> Vec<(Rule, Rule)>
Find all conflicts in a set of rules
Sourcepub fn check_conflicts(rule: &Rule, existing_rules: &[Rule]) -> Result<()>
pub fn check_conflicts(rule: &Rule, existing_rules: &[Rule]) -> Result<()>
Check if a rule conflicts with existing rules
Sourcepub fn apply_precedence(rules: &[Rule]) -> Option<Rule>
pub fn apply_precedence(rules: &[Rule]) -> Option<Rule>
Apply scope precedence to select the appropriate rule Project rules override global rules when both exist
Sourcepub fn get_rules_by_pattern_with_precedence(
rules: &[Rule],
pattern: &str,
) -> Vec<Rule>
pub fn get_rules_by_pattern_with_precedence( rules: &[Rule], pattern: &str, ) -> Vec<Rule>
Get rules by pattern, applying scope precedence
Sourcepub fn resolve_conflicts(rules: &[Rule]) -> Result<Vec<Rule>>
pub fn resolve_conflicts(rules: &[Rule]) -> Result<Vec<Rule>>
Resolve conflicts by applying scope precedence
Sourcepub fn log_conflict_resolution(
selected_rule: &Rule,
conflicting_rules: &[Rule],
) -> String
pub fn log_conflict_resolution( selected_rule: &Rule, conflicting_rules: &[Rule], ) -> String
Log conflict resolution decision
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ConflictResolver
impl RefUnwindSafe for ConflictResolver
impl Send for ConflictResolver
impl Sync for ConflictResolver
impl Unpin for ConflictResolver
impl UnwindSafe for ConflictResolver
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more