pub enum VerificationM4Error {
WrongChipCount {
n_witness_chips: usize,
n_chips: usize,
},
Main(VerificationError),
ChipInstance {
chip_id: usize,
instance: usize,
source: VerificationError,
},
MissingInstances {
chip_id: usize,
n_instances: usize,
n_active: usize,
},
CallMismatch {
chip_id: usize,
row: usize,
caller: Option<(usize, usize)>,
call_index: usize,
word: usize,
passed: u64,
served: u64,
},
}Expand description
Reason a witness fails to satisfy an M4 constraint system.
A witness is the main chip’s value vector and one list of instance value vectors per chip. It must satisfy every chip’s local constraints on every instance, and serve every chip call with the instance that call names.
Variants§
Trait Implementations§
Source§impl Debug for VerificationM4Error
impl Debug for VerificationM4Error
Source§impl Display for VerificationM4Error
impl Display for VerificationM4Error
Source§impl Error for VerificationM4Error
impl Error for VerificationM4Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<VerificationError> for VerificationM4Error
impl From<VerificationError> for VerificationM4Error
Source§fn from(source: VerificationError) -> Self
fn from(source: VerificationError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for VerificationM4Error
impl RefUnwindSafe for VerificationM4Error
impl Send for VerificationM4Error
impl Sync for VerificationM4Error
impl Unpin for VerificationM4Error
impl UnsafeUnpin for VerificationM4Error
impl UnwindSafe for VerificationM4Error
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more