Enum evalexpr::error::EvalexprError
source · #[non_exhaustive]pub enum EvalexprError {
Show 34 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,
UnmatchedDoubleQuote,
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),
BuiltinFunctionsCannotBeEnabled,
BuiltinFunctionsCannotBeDisabled,
CustomMessage(String),
}
Expand description
Errors used in this crate.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
WrongOperatorArgumentAmount
Fields
An operator was called with a wrong amount of arguments.
WrongFunctionArgumentAmount
Fields
A function was called with a wrong amount of arguments.
ExpectedString
A string value was expected.
ExpectedInt
An integer value was expected.
ExpectedFloat
A float value was expected.
ExpectedNumber
A numeric value was expected.
Numeric values are the variants Value::Int
and Value::Float
.
ExpectedNumberOrString
A numeric or string value was expected.
Numeric values are the variants Value::Int
and Value::Float
.
ExpectedBoolean
A boolean value was expected.
ExpectedTuple
A tuple value was expected.
ExpectedFixedLenTuple
A tuple value of a certain length was expected.
ExpectedEmpty
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
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.
UnmatchedDoubleQuote
A double quote without a matching second double quote 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
An addition operation performed by Rust failed.
SubtractionError
Fields
A subtraction operation performed by Rust failed.
NegationError
A negation operation performed by Rust failed.
MultiplicationError
Fields
A multiplication operation performed by Rust failed.
DivisionError
Fields
A division operation performed by Rust failed.
ModulationError
Fields
A modulation operation performed by Rust failed.
InvalidRegex
Fields
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.
BuiltinFunctionsCannotBeEnabled
This context does not allow enabling builtin functions.
BuiltinFunctionsCannotBeDisabled
This context does not allow disabling builtin functions.
CustomMessage(String)
A custom error explained by its message.
Implementations§
source§impl 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§
source§impl Clone for EvalexprError
impl Clone for EvalexprError
source§fn clone(&self) -> EvalexprError
fn clone(&self) -> EvalexprError
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for EvalexprError
impl Debug for EvalexprError
source§impl Display for EvalexprError
impl Display for EvalexprError
source§impl Error for EvalexprError
impl Error for EvalexprError
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
source§impl PartialEq<EvalexprError> for EvalexprError
impl PartialEq<EvalexprError> for EvalexprError
source§fn eq(&self, other: &EvalexprError) -> bool
fn eq(&self, other: &EvalexprError) -> bool
self
and other
values to be equal, and is used
by ==
.