pub enum RingSwitchError {
MalformedTensor {
expected: usize,
actual: usize,
},
PointWidthMismatch {
expected: usize,
actual: usize,
},
ClaimMismatch,
Sumcheck(SumcheckError),
FinalCheck,
NonEmptyPowWitnesses {
actual: usize,
},
}Expand description
Why a ring-switching proof was rejected.
Variants§
MalformedTensor
ŝ does not carry DIMENSION² base coefficients, so neither of its readings is defined.
Fields
PointWidthMismatch
The evaluation point does not name the coordinate count the description fixes.
Neither side can then bind it as the step the description names.
Fields
ClaimMismatch
The claimed evaluation is not the eq̃(·, r_low)-combination of ŝ’s columns.
Sumcheck(SumcheckError)
A round of the batched sumcheck failed.
FinalCheck
The surviving claim does not close the sumcheck against the equality element.
NonEmptyPowWitnesses
The sumcheck carries PoW witnesses this reduction never grinds for, so a proof carrying junk witnesses would otherwise verify identically to one carrying none.
Trait Implementations§
Source§impl Debug for RingSwitchError
impl Debug for RingSwitchError
Source§impl Display for RingSwitchError
impl Display for RingSwitchError
impl Eq for RingSwitchError
Source§impl Error for RingSwitchError
impl Error for RingSwitchError
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<SumcheckError> for RingSwitchError
impl From<SumcheckError> for RingSwitchError
Source§fn from(source: SumcheckError) -> Self
fn from(source: SumcheckError) -> Self
Converts to this type from the input type.
Source§impl PartialEq for RingSwitchError
impl PartialEq for RingSwitchError
impl StructuralPartialEq for RingSwitchError
Auto Trait Implementations§
impl Freeze for RingSwitchError
impl RefUnwindSafe for RingSwitchError
impl Send for RingSwitchError
impl Sync for RingSwitchError
impl Unpin for RingSwitchError
impl UnsafeUnpin for RingSwitchError
impl UnwindSafe for RingSwitchError
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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