#[non_exhaustive]pub enum SimplexShapeError {
TooFewVertices {
actual: usize,
},
TooManyVertices {
actual: usize,
dimension: usize,
},
DimensionMismatch {
index: usize,
expected: usize,
actual: usize,
},
CostCountMismatch {
vertices: usize,
costs: usize,
},
}Expand description
A proposed simplex has inconsistent point or cost dimensions.
New variants may be added in future releases. Include a fallback arm when matching errors; existing variants remain directly constructible. Exhaustive matching outside Basin is unsupported:
ⓘ
use basin::SimplexShapeError;
fn handle(error: SimplexShapeError) {
match error {
SimplexShapeError::TooFewVertices { .. }
| SimplexShapeError::TooManyVertices { .. }
| SimplexShapeError::DimensionMismatch { .. }
| SimplexShapeError::CostCountMismatch { .. } => {}
}
}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.
TooFewVertices
A simplex requires at least two vertices.
TooManyVertices
A simplex in dimension coordinates has at most dimension + 1 vertices.
Fields
DimensionMismatch
All vertices must have the same coordinate count.
Fields
CostCountMismatch
Each vertex requires one cost.
Trait Implementations§
Source§impl Clone for SimplexShapeError
impl Clone for SimplexShapeError
impl Copy for SimplexShapeError
Source§impl Debug for SimplexShapeError
impl Debug for SimplexShapeError
Source§impl Display for SimplexShapeError
impl Display for SimplexShapeError
impl Eq for SimplexShapeError
Source§impl Error for SimplexShapeError
impl Error for SimplexShapeError
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 PartialEq for SimplexShapeError
impl PartialEq for SimplexShapeError
impl StructuralPartialEq for SimplexShapeError
Auto Trait Implementations§
impl Freeze for SimplexShapeError
impl RefUnwindSafe for SimplexShapeError
impl Send for SimplexShapeError
impl Sync for SimplexShapeError
impl Unpin for SimplexShapeError
impl UnsafeUnpin for SimplexShapeError
impl UnwindSafe for SimplexShapeError
Blanket Implementations§
impl<T> Boilerplate for T
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T, U> Imply<T> for U
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.