diff --git a/zokrates_analysis/src/propagation.rs b/zokrates_analysis/src/propagation.rs index 0756831b..e065804a 100644 --- a/zokrates_analysis/src/propagation.rs +++ b/zokrates_analysis/src/propagation.rs @@ -570,15 +570,16 @@ impl<'ast, 'a, T: Field> ResultFolder<'ast, T> for Propagator<'ast, 'a, T> { } } } - TypedStatement::Assertion(e, ty) => { + TypedStatement::Assertion(e, err) => { let e_str = e.to_string(); let expr = self.fold_boolean_expression(e)?; match expr { - BooleanExpression::Value(false) => { - Err(Error::AssertionFailed(format!("{}: ({})", ty, e_str))) - } + BooleanExpression::Value(false) => Err(Error::AssertionFailed(format!( + "Assertion failed `{}` ({})", + e_str, err + ))), BooleanExpression::Value(true) => Ok(vec![]), - _ => Ok(vec![TypedStatement::Assertion(expr, ty)]), + _ => Ok(vec![TypedStatement::Assertion(expr, err)]), } } s @ TypedStatement::PushCallLog(..) => Ok(vec![s]), diff --git a/zokrates_analysis/src/zir_propagation.rs b/zokrates_analysis/src/zir_propagation.rs index 298166bf..c44cbd14 100644 --- a/zokrates_analysis/src/zir_propagation.rs +++ b/zokrates_analysis/src/zir_propagation.rs @@ -35,7 +35,7 @@ impl fmt::Display for Error { Error::DivisionByZero => { write!(f, "Division by zero detected in zir during static analysis",) } - Error::AssertionFailed(err) => write!(f, "Assertion failed: `{}`", err), + Error::AssertionFailed(err) => write!(f, "Assertion failed ({})", err), } } } diff --git a/zokrates_ast/src/typed/mod.rs b/zokrates_ast/src/typed/mod.rs index 9dc32b4b..1911dd2c 100644 --- a/zokrates_ast/src/typed/mod.rs +++ b/zokrates_ast/src/typed/mod.rs @@ -577,9 +577,7 @@ pub enum RuntimeError { impl fmt::Display for RuntimeError { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { - RuntimeError::SourceAssertion(metadata) => { - write!(f, "Assertion failed at {}", metadata) - } + RuntimeError::SourceAssertion(metadata) => write!(f, "{}", metadata), RuntimeError::SelectRangeCheck => write!(f, "Range check on array access"), RuntimeError::DivisionByZero => write!(f, "Division by zero"), } @@ -674,10 +672,10 @@ impl<'ast, T: fmt::Display> fmt::Display for TypedAssemblyStatement<'ast, T> { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { TypedAssemblyStatement::Assignment(ref lhs, ref rhs) => { - write!(f, "{} <-- {}", lhs, rhs) + write!(f, "{} <-- {};", lhs, rhs) } TypedAssemblyStatement::Constraint(ref lhs, ref rhs, _) => { - write!(f, "{} === {}", lhs, rhs) + write!(f, "{} === {};", lhs, rhs) } } } diff --git a/zokrates_ast/src/zir/mod.rs b/zokrates_ast/src/zir/mod.rs index da821fe9..bc58efc6 100644 --- a/zokrates_ast/src/zir/mod.rs +++ b/zokrates_ast/src/zir/mod.rs @@ -103,9 +103,7 @@ pub enum RuntimeError { impl fmt::Display for RuntimeError { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { - RuntimeError::SourceAssertion(metadata) => { - write!(f, "Assertion failed at {}", metadata) - } + RuntimeError::SourceAssertion(metadata) => write!(f, "{}", metadata), RuntimeError::SelectRangeCheck => write!(f, "Range check on array access"), RuntimeError::DivisionByZero => write!(f, "Division by zero"), RuntimeError::IncompleteDynamicRange => write!(f, "Dynamic comparison is incomplete"), @@ -138,7 +136,7 @@ impl<'ast, T: fmt::Display> fmt::Display for ZirAssemblyStatement<'ast, T> { ZirAssemblyStatement::Assignment(ref lhs, ref rhs) => { write!( f, - "{} <-- {}", + "{} <-- {};", lhs.iter() .map(|a| a.id.to_string()) .collect::>() @@ -147,7 +145,7 @@ impl<'ast, T: fmt::Display> fmt::Display for ZirAssemblyStatement<'ast, T> { ) } ZirAssemblyStatement::Constraint(ref lhs, ref rhs, _) => { - write!(f, "{} === {}", lhs, rhs) + write!(f, "{} === {};", lhs, rhs) } } } diff --git a/zokrates_pest_ast/src/lib.rs b/zokrates_pest_ast/src/lib.rs index 8eb0124b..65268b30 100644 --- a/zokrates_pest_ast/src/lib.rs +++ b/zokrates_pest_ast/src/lib.rs @@ -433,7 +433,7 @@ mod ast { pub span: Span<'ast>, } - #[derive(Debug, FromPest, PartialEq, Clone)] + #[derive(Debug, FromPest, PartialEq, Eq, Clone)] #[pest_ast(rule(Rule::op_asm))] pub enum AssignmentOperator { Assign(AssignOperator),