Enum evalexpr::error::EvalexprError
source · [−]#[non_exhaustive]
pub enum EvalexprError {
Show 31 variants
WrongOperatorArgumentAmount {
expected: usize,
actual: usize,
},
WrongFunctionArgumentAmount {
expected: usize,
actual: usize,
},
ExpectedString {
actual: Value,
},
ExpectedInt {
actual: Value,
},
ExpectedFloat {
actual: Value,
},
ExpectedNumber {
actual: Value,
},
ExpectedNumberOrString {
actual: Value,
},
ExpectedBoolean {
actual: Value,
},
ExpectedTuple {
actual: Value,
},
ExpectedFixedLenTuple {
expected_len: usize,
actual: Value,
},
ExpectedEmpty {
actual: Value,
},
AppendedToLeafNode,
PrecedenceViolation,
VariableIdentifierNotFound(String),
FunctionIdentifierNotFound(String),
TypeError {
expected: Vec<ValueType>,
actual: Value,
},
WrongTypeCombination {
operator: Operator,
actual: Vec<ValueType>,
},
UnmatchedLBrace,
UnmatchedRBrace,
MissingOperatorOutsideOfBrace,
UnmatchedPartialToken {
first: PartialToken,
second: Option<PartialToken>,
},
AdditionError {
augend: Value,
addend: Value,
},
SubtractionError {
minuend: Value,
subtrahend: Value,
},
NegationError {
argument: Value,
},
MultiplicationError {
multiplicand: Value,
multiplier: Value,
},
DivisionError {
dividend: Value,
divisor: Value,
},
ModulationError {
dividend: Value,
divisor: Value,
},
InvalidRegex {
regex: String,
message: String,
},
ContextNotMutable,
IllegalEscapeSequence(String),
CustomMessage(String),
}
Expand description
Errors used in this crate.
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
WrongOperatorArgumentAmount
An operator was called with a wrong amount of arguments.
WrongFunctionArgumentAmount
A function was called with a wrong amount of arguments.
ExpectedString
Fields
actual: Value
The actual value.
A string value was expected.
ExpectedInt
Fields
actual: Value
The actual value.
An integer value was expected.
ExpectedFloat
Fields
actual: Value
The actual value.
A float value was expected.
ExpectedNumber
Fields
actual: Value
The actual value.
A numeric value was expected.
Numeric values are the variants Value::Int
and Value::Float
.
ExpectedNumberOrString
Fields
actual: Value
The actual value.
A numeric or string value was expected.
Numeric values are the variants Value::Int
and Value::Float
.
ExpectedBoolean
Fields
actual: Value
The actual value.
A boolean value was expected.
ExpectedTuple
Fields
actual: Value
The actual value.
A tuple value was expected.
ExpectedFixedLenTuple
A tuple value of a certain length was expected.
ExpectedEmpty
Fields
actual: Value
The actual value.
An empty value was expected.
AppendedToLeafNode
Tried to append a child to a leaf node. Leaf nodes cannot have children.
PrecedenceViolation
Tried to append a child to a node such that the precedence of the child is not higher. This error should never occur. If it does, please file a bug report.
VariableIdentifierNotFound(String)
A VariableIdentifier
operation did not find its value in the context.
FunctionIdentifierNotFound(String)
A FunctionIdentifier
operation did not find its value in the context.
TypeError
A value has the wrong type. Only use this if there is no other error that describes the expected and provided types in more detail.
WrongTypeCombination
Fields
operator: Operator
The operator that whose evaluation caused the error.
An operator is used with a wrong combination of types.
UnmatchedLBrace
An opening brace without a matching closing brace was found.
UnmatchedRBrace
A closing brace without a matching opening brace was found.
MissingOperatorOutsideOfBrace
Left of an opening brace or right of a closing brace is a token that does not expect the brace next to it.
For example, writing 4(5)
would yield this error, as the 4
does not have any operands.
UnmatchedPartialToken
Fields
first: PartialToken
The unmatched partial token.
second: Option<PartialToken>
The token that follows the unmatched partial token and that cannot be matched to the partial token, or None
, if first
is the last partial token in the stream.
A PartialToken
is unmatched, such that it cannot be combined into a full Token
.
This happens if for example a single =
is found, surrounded by whitespace.
It is not a token, but it is part of the string representation of some tokens.
AdditionError
Fields
augend: Value
The first argument of the addition.
addend: Value
The second argument of the addition.
An addition operation performed by Rust failed.
SubtractionError
Fields
minuend: Value
The first argument of the subtraction.
subtrahend: Value
The second argument of the subtraction.
A subtraction operation performed by Rust failed.
NegationError
Fields
argument: Value
The argument of the negation.
A negation operation performed by Rust failed.
MultiplicationError
Fields
multiplicand: Value
The first argument of the multiplication.
multiplier: Value
The second argument of the multiplication.
A multiplication operation performed by Rust failed.
DivisionError
Fields
dividend: Value
The first argument of the division.
divisor: Value
The second argument of the division.
A division operation performed by Rust failed.
ModulationError
Fields
dividend: Value
The first argument of the modulation.
divisor: Value
The second argument of the modulation.
A modulation operation performed by Rust failed.
InvalidRegex
Fields
regex: String
The invalid regular expression
message: String
Failure message from the regex engine
A regular expression could not be parsed
ContextNotMutable
A modification was attempted on a Context
that does not allow modifications.
IllegalEscapeSequence(String)
An escape sequence within a string literal is illegal.
CustomMessage(String)
A custom error explained by its message.
Implementations
sourceimpl EvalexprError
impl EvalexprError
sourcepub fn type_error(actual: Value, expected: Vec<ValueType>) -> Self
pub fn type_error(actual: Value, expected: Vec<ValueType>) -> Self
Constructs EvalexprError::TypeError{actual, expected}
.
sourcepub fn wrong_type_combination(
operator: Operator,
actual: Vec<ValueType>
) -> Self
pub fn wrong_type_combination(
operator: Operator,
actual: Vec<ValueType>
) -> Self
Constructs EvalexprError::WrongTypeCombination{operator, actual}
.
sourcepub fn expected_string(actual: Value) -> Self
pub fn expected_string(actual: Value) -> Self
Constructs EvalexprError::ExpectedString{actual}
.
sourcepub fn expected_int(actual: Value) -> Self
pub fn expected_int(actual: Value) -> Self
Constructs EvalexprError::ExpectedInt{actual}
.
sourcepub fn expected_float(actual: Value) -> Self
pub fn expected_float(actual: Value) -> Self
Constructs EvalexprError::ExpectedFloat{actual}
.
sourcepub fn expected_number(actual: Value) -> Self
pub fn expected_number(actual: Value) -> Self
Constructs EvalexprError::ExpectedNumber{actual}
.
sourcepub fn expected_number_or_string(actual: Value) -> Self
pub fn expected_number_or_string(actual: Value) -> Self
Constructs EvalexprError::ExpectedNumberOrString{actual}
.
sourcepub fn expected_boolean(actual: Value) -> Self
pub fn expected_boolean(actual: Value) -> Self
Constructs EvalexprError::ExpectedBoolean{actual}
.
sourcepub fn expected_tuple(actual: Value) -> Self
pub fn expected_tuple(actual: Value) -> Self
Constructs EvalexprError::ExpectedTuple{actual}
.
sourcepub fn expected_fixed_len_tuple(expected_len: usize, actual: Value) -> Self
pub fn expected_fixed_len_tuple(expected_len: usize, actual: Value) -> Self
Constructs EvalexprError::ExpectedFixedLenTuple{expected_len, actual}
.
sourcepub fn expected_empty(actual: Value) -> Self
pub fn expected_empty(actual: Value) -> Self
Constructs EvalexprError::ExpectedEmpty{actual}
.
sourcepub fn invalid_regex(regex: String, message: String) -> Self
pub fn invalid_regex(regex: String, message: String) -> Self
Constructs EvalexprError::InvalidRegex(regex)
Trait Implementations
sourceimpl Debug for EvalexprError
impl Debug for EvalexprError
sourceimpl Display for EvalexprError
impl Display for EvalexprError
sourceimpl Error for EvalexprError
impl Error for EvalexprError
1.30.0 · sourcefn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
sourcefn backtrace(&self) -> Option<&Backtrace>
fn backtrace(&self) -> Option<&Backtrace>
backtrace
)Returns a stack backtrace, if available, of where this error occurred. Read more
1.0.0 · sourcefn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
sourceimpl PartialEq<EvalexprError> for EvalexprError
impl PartialEq<EvalexprError> for EvalexprError
sourcefn eq(&self, other: &EvalexprError) -> bool
fn eq(&self, other: &EvalexprError) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &EvalexprError) -> bool
fn ne(&self, other: &EvalexprError) -> bool
This method tests for !=
.
impl StructuralPartialEq for EvalexprError
Auto Trait Implementations
impl RefUnwindSafe for EvalexprError
impl Send for EvalexprError
impl Sync for EvalexprError
impl Unpin for EvalexprError
impl UnwindSafe for EvalexprError
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more