use core::fmt;
#[derive(PartialEq, Eq, Clone, Copy, Debug)]
pub enum SynthesisError {
MissingCS,
AssignmentMissing,
DivisionByZero,
Unsatisfiable,
PolynomialDegreeTooLarge,
PredicateNotFound,
ArityMismatch,
}
impl ark_std::error::Error for SynthesisError {}
impl fmt::Display for SynthesisError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> Result<(), fmt::Error> {
match self {
SynthesisError::MissingCS => write!(f, "the constraint system was `None`"),
SynthesisError::AssignmentMissing => write!(f, "assignment couldn't be computed"),
SynthesisError::DivisionByZero => write!(f, "division by zero"),
SynthesisError::Unsatisfiable => write!(f, "unsatisfiable constraint system"),
SynthesisError::PolynomialDegreeTooLarge => write!(f, "polynomial degree too large"),
SynthesisError::ArityMismatch => write!(f, "predicate arity doesn't match input"),
SynthesisError::PredicateNotFound => write!(f, "predicate was not found"),
}
}
}