aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs')
-rw-r--r--crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs42
1 files changed, 23 insertions, 19 deletions
diff --git a/crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs b/crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs
index ed77a19..102beaa 100644
--- a/crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs
+++ b/crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs
@@ -90,25 +90,6 @@ impl MultiConflictRule {
code: 0,
}.into())
}
-
- pub fn to_string(&self) -> String {
- let mut result = if self.inner.is_disabled() {
- "disabled(multi(".to_string()
- } else {
- "(multi(".to_string()
- };
-
- // TODO multi conflict?
- for (i, literal) in self.literals.iter().enumerate() {
- if i != 0 {
- result.push('|');
- }
- result.push_str(&literal.to_string());
- }
-
- result.push_str("))");
- result
- }
}
impl RuleLiterals for MultiConflictRule {
@@ -166,3 +147,26 @@ impl Rule for MultiConflictRule {
todo!()
}
}
+
+impl std::fmt::Display for MultiConflictRule {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ // TODO multi conflict?
+ write!(
+ f,
+ "{}",
+ if self.inner.is_disabled() {
+ "disabled(multi("
+ } else {
+ "(multi("
+ }
+ )?;
+
+ for (i, literal) in self.literals.iter().enumerate() {
+ if i != 0 {
+ write!(f, "|")?;
+ }
+ write!(f, "{}", literal)?;
+ }
+ write!(f, "))")
+ }
+}