#[non_exhaustive]pub enum PackError {
CellWiderThanElement {
cell: usize,
element: usize,
},
NoColumns,
RaggedColumns {
expected: usize,
actual: usize,
},
PartialElement {
cells: usize,
per_element: usize,
},
NotAHypercube {
elements: usize,
},
PartialBitBlock {
rows: usize,
width: usize,
},
TooManyColumns {
requested: usize,
width: usize,
},
}Expand description
Why a run of columns could not be packed.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
CellWiderThanElement
The alphabet is wider than the level packing it, so no cell fits.
NoColumns
No column was supplied, so there is nothing to commit.
RaggedColumns
The columns have different heights, so the layout has no common arity.
PartialElement
A column’s cells do not fill a whole number of elements.
NotAHypercube
A packed column is no power-of-two length, so it covers no hypercube.
PartialBitBlock
The row count is no whole number of square blocks.
TooManyColumns
More columns are asked for than a block has lanes.
Trait Implementations§
impl Copy for PackError
impl Eq for PackError
Source§impl Error for PackError
impl Error for PackError
1.30.0 · 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<EF, MmcsError> From<PackError> for BooleanPcsError<EF, MmcsError>
impl<EF, MmcsError> From<PackError> for BooleanPcsError<EF, MmcsError>
impl StructuralPartialEq for PackError
Auto Trait Implementations§
impl Freeze for PackError
impl RefUnwindSafe for PackError
impl Send for PackError
impl Sync for PackError
impl Unpin for PackError
impl UnsafeUnpin for PackError
impl UnwindSafe for PackError
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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