#[non_exhaustive]pub enum EvalexprError {
Show 35 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,
},
ExpectedMap {
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),
BuiltinFunctionsCannotBeEnabled,
BuiltinFunctionsCannotBeDisabled,
FunctionFailure(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.
Fields
WrongFunctionArgumentAmount
A function was called with a wrong amount of arguments.
Fields
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.
ExpectedMap
A map 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
An operator is used with a wrong combination of types.
Fields
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
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.
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.
AdditionError
An addition operation performed by Rust failed.
Fields
SubtractionError
A subtraction operation performed by Rust failed.
Fields
NegationError
A negation operation performed by Rust failed.
MultiplicationError
A multiplication operation performed by Rust failed.
Fields
DivisionError
A division operation performed by Rust failed.
Fields
ModulationError
A modulation operation performed by Rust failed.
Fields
InvalidRegex
A regular expression could not be parsed
Fields
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.
FunctionFailure(String)
The function failed due to an external error.
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 expected_map(actual: Value) -> Self
pub fn expected_map(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 more