#[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.
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.
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.
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)