Enum yash_arith::EvalError
source · pub enum EvalError<E1, E2> {
InvalidVariableValue(String),
Overflow,
DivisionByZero,
LeftShiftingNegative,
ReverseShifting,
AssignmentToValue,
GetVariableError(E1),
AssignVariableError(E2),
}Expand description
Cause of an evaluation error
Variants§
InvalidVariableValue(String)
A variable value that is not a valid number
Overflow
Result out of bounds
DivisionByZero
Division by zero
LeftShiftingNegative
Left bit-shifting with a negative left-hand-side operand
ReverseShifting
Bit-shifting with a negative right-hand-side operand
AssignmentToValue
Assignment with a left-hand-side operand not being a variable
GetVariableError(E1)
Error accessing a variable value.
AssignVariableError(E2)
Error assigning a variable value.
Trait Implementations§
source§impl<E1, E2> Error for EvalError<E1, E2>where
E1: Error,
E2: Error,
Self: Debug + Display,
impl<E1, E2> Error for EvalError<E1, E2>where E1: Error, E2: Error, Self: Debug + Display,
source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
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<E1, E2> From<EvalError<E1, E2>> for ErrorCause<E1, E2>
impl<E1, E2> From<EvalError<E1, E2>> for ErrorCause<E1, E2>
source§impl<E1: PartialEq, E2: PartialEq> PartialEq<EvalError<E1, E2>> for EvalError<E1, E2>
impl<E1: PartialEq, E2: PartialEq> PartialEq<EvalError<E1, E2>> for EvalError<E1, E2>
impl<E1: Eq, E2: Eq> Eq for EvalError<E1, E2>
impl<E1, E2> StructuralEq for EvalError<E1, E2>
impl<E1, E2> StructuralPartialEq for EvalError<E1, E2>
Auto Trait Implementations§
impl<E1, E2> RefUnwindSafe for EvalError<E1, E2>where E1: RefUnwindSafe, E2: RefUnwindSafe,
impl<E1, E2> Send for EvalError<E1, E2>where E1: Send, E2: Send,
impl<E1, E2> Sync for EvalError<E1, E2>where E1: Sync, E2: Sync,
impl<E1, E2> Unpin for EvalError<E1, E2>where E1: Unpin, E2: Unpin,
impl<E1, E2> UnwindSafe for EvalError<E1, E2>where E1: UnwindSafe, E2: 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
Mutably borrows from an owned value. Read more