Assert against empty conjunctions and disjunctions

This commit is contained in:
Patrick Lühne 2020-02-02 17:46:55 +01:00
parent 6163c5b259
commit 25c567af06
Signed by: patrick
GPG Key ID: 05F3611E97A70ABF
2 changed files with 8 additions and 0 deletions

View File

@ -491,6 +491,8 @@ impl Formula
{ {
pub fn and(arguments: Formulas) -> Self pub fn and(arguments: Formulas) -> Self
{ {
assert!(!arguments.is_empty());
Self::And(arguments) Self::And(arguments)
} }
@ -566,6 +568,8 @@ impl Formula
pub fn or(arguments: Formulas) -> Self pub fn or(arguments: Formulas) -> Self
{ {
assert!(!arguments.is_empty());
Self::Or(arguments) Self::Or(arguments)
} }

View File

@ -240,6 +240,8 @@ impl<'formula> std::fmt::Debug for FormulaDisplay<'formula>
{ {
let mut separator = ""; let mut separator = "";
assert!(!arguments.is_empty());
for argument in arguments for argument in arguments
{ {
write!(format, "{}{:?}", separator, display_formula(argument, precedence))?; write!(format, "{}{:?}", separator, display_formula(argument, precedence))?;
@ -251,6 +253,8 @@ impl<'formula> std::fmt::Debug for FormulaDisplay<'formula>
{ {
let mut separator = ""; let mut separator = "";
assert!(!arguments.is_empty());
for argument in arguments for argument in arguments
{ {
write!(format, "{}{:?}", separator, display_formula(argument, precedence))?; write!(format, "{}{:?}", separator, display_formula(argument, precedence))?;