ark_relations/r1cs/
error.rs1use core::fmt;
2
3#[derive(PartialEq, Eq, Clone, Copy, Debug)]
6pub enum SynthesisError {
7 MissingCS,
10 AssignmentMissing,
12 DivisionByZero,
14 Unsatisfiable,
16 PolynomialDegreeTooLarge,
18 UnexpectedIdentity,
20 MalformedVerifyingKey,
22 UnconstrainedVariable,
24}
25
26impl ark_std::error::Error for SynthesisError {}
27
28impl fmt::Display for SynthesisError {
29 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> Result<(), fmt::Error> {
30 match self {
31 SynthesisError::MissingCS => write!(f, "the constraint system was `None`"),
32 SynthesisError::AssignmentMissing => {
33 write!(f, "an assignment for a variable could not be computed")
34 },
35 SynthesisError::DivisionByZero => write!(f, "division by zero"),
36 SynthesisError::Unsatisfiable => write!(f, "unsatisfiable constraint system"),
37 SynthesisError::PolynomialDegreeTooLarge => write!(f, "polynomial degree is too large"),
38 SynthesisError::UnexpectedIdentity => {
39 write!(f, "encountered an identity element in the CRS")
40 },
41 SynthesisError::MalformedVerifyingKey => write!(f, "malformed verifying key"),
42 SynthesisError::UnconstrainedVariable => {
43 write!(f, "auxiliary variable was unconstrained")
44 },
45 }
46 }
47}