pub enum ConstrainedI8Error<const MIN: i8, const MAX: i8> {
Lower(MinI8Error<MIN>),
Greater(MaxI8Error<MAX>),
}Expand description
An error that indicates which range bound was violated by a i8 value.
This error can be returned from fallible APIs for ConstrainedI8.
The Lower variant indicates that the value is lower than ConstrainedI8::MIN.
The Greater variant indicates that the value is greater than ConstrainedI8::MAX.
If this crate’s std feature is enabled, this error implements the standard
library’s Error trait.
§Examples
Variants can be pattern matched to identify which bound was violated.
use constrained_int::i8::{ConstrainedI8, ConstrainedI8Error};
type Constrained = ConstrainedI8<- 127, 126>;
// First is below lower bound, second is above upper bound.
let results = [Constrained::new(- 128), Constrained::new(127)];
for result in results {
match result {
Err(ConstrainedI8Error::Lower(_)) => /*...*/ (),
Err(ConstrainedI8Error::Greater(_)) => /*...*/ (),
_ => unreachable!(),
}
}Associated constants are guarded against parameters that violate the
MAX > MIN condition.
ⓘ
use constrained_int::i8::{ConstrainedI8, ConstrainedI8Error};
// MIN greater or equal to MAX is invalid.
type InvalidRange = ConstrainedI8<126, - 127>;
// None of these will compile for InvalidRange.
let min = InvalidRange::MIN;
let max = InvalidRange::MAX;Variants§
Lower(MinI8Error<MIN>)
Indicates that the provided value is lower than ConstrainedI8::MIN.
Greater(MaxI8Error<MAX>)
Indicates that the provided value is greater than ConstrainedI8::MAX.
Implementations§
Trait Implementations§
Source§impl<const MIN: i8, const MAX: i8> Clone for ConstrainedI8Error<MIN, MAX>
impl<const MIN: i8, const MAX: i8> Clone for ConstrainedI8Error<MIN, MAX>
Source§fn clone(&self) -> ConstrainedI8Error<MIN, MAX>
fn clone(&self) -> ConstrainedI8Error<MIN, MAX>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<const MIN: i8, const MAX: i8> Error for ConstrainedI8Error<MIN, MAX>
Available on crate feature std only.
impl<const MIN: i8, const MAX: i8> Error for ConstrainedI8Error<MIN, MAX>
Available on crate feature
std only.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<const MIN: i8, const MAX: i8> From<MaxI8Error<MAX>> for ConstrainedI8Error<MIN, MAX>
impl<const MIN: i8, const MAX: i8> From<MaxI8Error<MAX>> for ConstrainedI8Error<MIN, MAX>
Source§fn from(err: MaxI8Error<MAX>) -> Self
fn from(err: MaxI8Error<MAX>) -> Self
Converts to this type from the input type.
Source§impl<const MIN: i8, const MAX: i8> From<MinI8Error<MIN>> for ConstrainedI8Error<MIN, MAX>
impl<const MIN: i8, const MAX: i8> From<MinI8Error<MIN>> for ConstrainedI8Error<MIN, MAX>
Source§fn from(err: MinI8Error<MIN>) -> Self
fn from(err: MinI8Error<MIN>) -> Self
Converts to this type from the input type.
Source§impl<const MIN: i8, const MAX: i8> Ord for ConstrainedI8Error<MIN, MAX>
impl<const MIN: i8, const MAX: i8> Ord for ConstrainedI8Error<MIN, MAX>
Source§fn cmp(&self, other: &ConstrainedI8Error<MIN, MAX>) -> Ordering
fn cmp(&self, other: &ConstrainedI8Error<MIN, MAX>) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl<const MIN: i8, const MAX: i8> PartialEq for ConstrainedI8Error<MIN, MAX>
impl<const MIN: i8, const MAX: i8> PartialEq for ConstrainedI8Error<MIN, MAX>
Source§fn eq(&self, other: &ConstrainedI8Error<MIN, MAX>) -> bool
fn eq(&self, other: &ConstrainedI8Error<MIN, MAX>) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl<const MIN: i8, const MAX: i8> PartialOrd for ConstrainedI8Error<MIN, MAX>
impl<const MIN: i8, const MAX: i8> PartialOrd for ConstrainedI8Error<MIN, MAX>
impl<const MIN: i8, const MAX: i8> Copy for ConstrainedI8Error<MIN, MAX>
impl<const MIN: i8, const MAX: i8> Eq for ConstrainedI8Error<MIN, MAX>
impl<const MIN: i8, const MAX: i8> StructuralPartialEq for ConstrainedI8Error<MIN, MAX>
Auto Trait Implementations§
impl<const MIN: i8, const MAX: i8> Freeze for ConstrainedI8Error<MIN, MAX>
impl<const MIN: i8, const MAX: i8> RefUnwindSafe for ConstrainedI8Error<MIN, MAX>
impl<const MIN: i8, const MAX: i8> Send for ConstrainedI8Error<MIN, MAX>
impl<const MIN: i8, const MAX: i8> Sync for ConstrainedI8Error<MIN, MAX>
impl<const MIN: i8, const MAX: i8> Unpin for ConstrainedI8Error<MIN, MAX>
impl<const MIN: i8, const MAX: i8> UnwindSafe for ConstrainedI8Error<MIN, MAX>
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