From 25c567af063f4392c4aa979a24d07afbeb01be43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20L=C3=BChne?= Date: Sun, 2 Feb 2020 17:46:55 +0100 Subject: [PATCH] Assert against empty conjunctions and disjunctions --- src/ast.rs | 4 ++++ src/format.rs | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/ast.rs b/src/ast.rs index 2514108..23178c6 100644 --- a/src/ast.rs +++ b/src/ast.rs @@ -491,6 +491,8 @@ impl Formula { pub fn and(arguments: Formulas) -> Self { + assert!(!arguments.is_empty()); + Self::And(arguments) } @@ -566,6 +568,8 @@ impl Formula pub fn or(arguments: Formulas) -> Self { + assert!(!arguments.is_empty()); + Self::Or(arguments) } diff --git a/src/format.rs b/src/format.rs index b88b8af..15daba8 100644 --- a/src/format.rs +++ b/src/format.rs @@ -240,6 +240,8 @@ impl<'formula> std::fmt::Debug for FormulaDisplay<'formula> { let mut separator = ""; + assert!(!arguments.is_empty()); + for argument in arguments { write!(format, "{}{:?}", separator, display_formula(argument, precedence))?; @@ -251,6 +253,8 @@ impl<'formula> std::fmt::Debug for FormulaDisplay<'formula> { let mut separator = ""; + assert!(!arguments.is_empty()); + for argument in arguments { write!(format, "{}{:?}", separator, display_formula(argument, precedence))?;