diff --git a/src/datapack/command/execute/conditional.rs b/src/datapack/command/execute/conditional.rs index 231bc3b..e6a793d 100644 --- a/src/datapack/command/execute/conditional.rs +++ b/src/datapack/command/execute/conditional.rs @@ -439,7 +439,7 @@ impl Condition { #[must_use] pub fn to_truth_table(&self) -> Vec { match self.normalize() { - Self::Atom(_) | Self::Not(_) => vec![self.clone()], + Self::Atom(_) | Self::Not(_) => vec![self.normalize()], Self::Or(a, b) => a .to_truth_table() .into_iter() @@ -461,7 +461,7 @@ impl Condition { /// Convert the condition into a [`MacroString`]. /// - /// Will fail if the condition contains an `Or` variant. Use `compile` instead. + /// Will fail if the condition contains an `Or` or double nested `Not` variant. Use `compile` instead. fn str_cond(&self) -> Option { match self { Self::Atom(s) => Some(MacroString::from("if ") + s.clone()),