#[non_exhaustive]pub enum BooleanTraceCommitmentError<E> {
Boolean(E),
StackedArity {
expected: usize,
actual: usize,
},
TableShapeMismatch {
table: usize,
expected: TableShape,
actual: TableShape,
},
TableCountMismatch {
expected: usize,
actual: usize,
},
NonBooleanCell {
table: usize,
column: usize,
},
PointCount {
expected: usize,
actual: usize,
},
PointArity {
table: usize,
expected: usize,
actual: usize,
},
ValueCount {
expected: usize,
actual: usize,
},
ColumnBatchTranscript(TranscriptError),
ColumnBatchValueMismatch {
batch: usize,
},
}Expand description
Why a Boolean trace could not be committed or opened.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Boolean(E)
The bit commitment underneath refused the witness or the opening.
StackedArity
The table shapes do not stack to the arity this commitment holds.
TableShapeMismatch
The retained source tables do not have the exact shapes promised by the opening protocol.
Fields
expected: TableShapeShape the protocol describes.
actual: TableShapeShape the committed prover data retains.
TableCountMismatch
The protocol and retained source table lists have different lengths.
Fields
NonBooleanCell
A trace cell holds neither zero nor one, so it addresses no bit.
PointCount
One point per opening batch is required.
PointArity
A point does not name the rows of the table it opens.
Fields
ValueCount
The proof carries a different number of values than the protocol opens.
A column read at both rows carries one reading per row, so the count is readings, one per value position.
Fields
ColumnBatchTranscript(TranscriptError)
A typed column-batching transcript could not replay its proof shape.
ColumnBatchValueMismatch
The inner opening disagreed with the prover’s independently computed batch value.
Trait Implementations§
Source§impl<E: Debug> Debug for BooleanTraceCommitmentError<E>
impl<E: Debug> Debug for BooleanTraceCommitmentError<E>
Source§impl<E> Display for BooleanTraceCommitmentError<E>where
E: Display,
impl<E> Display for BooleanTraceCommitmentError<E>where
E: Display,
Source§impl<E> Error for BooleanTraceCommitmentError<E>
impl<E> Error for BooleanTraceCommitmentError<E>
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()
Source§impl<E> From<TranscriptError> for BooleanTraceCommitmentError<E>
impl<E> From<TranscriptError> for BooleanTraceCommitmentError<E>
Source§fn from(source: TranscriptError) -> Self
fn from(source: TranscriptError) -> Self
Auto Trait Implementations§
impl<E> Freeze for BooleanTraceCommitmentError<E>where
E: Freeze,
impl<E> RefUnwindSafe for BooleanTraceCommitmentError<E>where
E: RefUnwindSafe,
impl<E> Send for BooleanTraceCommitmentError<E>where
E: Send,
impl<E> Sync for BooleanTraceCommitmentError<E>where
E: Sync,
impl<E> Unpin for BooleanTraceCommitmentError<E>where
E: Unpin,
impl<E> UnsafeUnpin for BooleanTraceCommitmentError<E>where
E: UnsafeUnpin,
impl<E> UnwindSafe for BooleanTraceCommitmentError<E>where
E: 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