#[non_exhaustive]pub enum BooleanPcsError<EF, MmcsError> {
Show 15 variants
WitnessTooNarrow {
needed: usize,
actual: usize,
},
Config(BinaryPcsConfigError),
ConfigArity {
expected: usize,
actual: usize,
},
WitnessArity {
expected: usize,
actual: usize,
},
NoPoints,
ClaimCount {
expected: usize,
values: usize,
reductions: usize,
},
PointArity {
expected: usize,
actual: usize,
},
NoReading {
index: usize,
},
RowVariables {
index: usize,
row_variables: usize,
num_variables: usize,
},
ReadingShape {
index: usize,
},
Packing(PackError),
Reduction(BitRingSwitchError),
ReductionProof(BitRingSwitchProofError),
Commitment(BinaryPcsError<EF, MmcsError>),
SurvivingClaim,
}Expand description
Why a Boolean commitment or opening was refused.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
WitnessTooNarrow
The witness is narrower than the coordinates one element absorbs.
Config(BinaryPcsConfigError)
The schedule was not derived for the level this commitment runs over.
ConfigArity
The commitment schedule does not commit the elements the packing holds.
WitnessArity
The witness does not cover the committed hypercube.
NoPoints
No opening point was supplied, so there is nothing to prove.
ClaimCount
The claim counts on the two sides of an opening disagree.
Fields
PointArity
The opening point does not name the committed function’s variables.
Fields
NoReading
An opening asks for neither reading, so nothing at its point would be checked.
RowVariables
The successor view steps within more coordinates than the witness has.
Fields
ReadingShape
A reading is present where its opening asks for none, or missing where it asks for one.
Packing(PackError)
The bits could not be packed into the elements a commitment holds.
Reduction(BitRingSwitchError)
The reduction could not be set up over the point supplied.
ReductionProof(BitRingSwitchProofError)
The reduction’s own proof was rejected.
Commitment(BinaryPcsError<EF, MmcsError>)
The commitment refused the opening.
SurvivingClaim
The commitment opened a value the reduction did not leave behind.
Without this the reduction would prove a claim about some other polynomial.
Trait Implementations§
Source§impl<EF, MmcsError> Display for BooleanPcsError<EF, MmcsError>where
BinaryPcsError<EF, MmcsError>: Display,
impl<EF, MmcsError> Display for BooleanPcsError<EF, MmcsError>where
BinaryPcsError<EF, MmcsError>: Display,
Source§impl<EF, MmcsError> Error for BooleanPcsError<EF, MmcsError>
impl<EF, MmcsError> Error for BooleanPcsError<EF, MmcsError>
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Auto Trait Implementations§
impl<EF, MmcsError> Freeze for BooleanPcsError<EF, MmcsError>where
BinaryPcsError<EF, MmcsError>: Freeze,
impl<EF, MmcsError> RefUnwindSafe for BooleanPcsError<EF, MmcsError>where
BinaryPcsError<EF, MmcsError>: RefUnwindSafe,
impl<EF, MmcsError> Send for BooleanPcsError<EF, MmcsError>where
BinaryPcsError<EF, MmcsError>: Send,
impl<EF, MmcsError> Sync for BooleanPcsError<EF, MmcsError>where
BinaryPcsError<EF, MmcsError>: Sync,
impl<EF, MmcsError> Unpin for BooleanPcsError<EF, MmcsError>where
BinaryPcsError<EF, MmcsError>: Unpin,
impl<EF, MmcsError> UnsafeUnpin for BooleanPcsError<EF, MmcsError>where
BinaryPcsError<EF, MmcsError>: UnsafeUnpin,
impl<EF, MmcsError> UnwindSafe for BooleanPcsError<EF, MmcsError>where
BinaryPcsError<EF, MmcsError>: UnwindSafe,
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
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> ⓘ
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> ⓘ
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