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))?;