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)
Tuple Fields
0: String
A VariableIdentifier
operation did not find its value in the context.
FunctionIdentifierNotFound(String)
Tuple Fields
0: 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)
Tuple Fields
0: String
An escape sequence within a string literal is illegal.
CustomMessage(String)
Tuple Fields
0: String
A custom error explained by its message.
Implementations
Constructs EvalexprError::TypeError{actual, expected}
.
Constructs EvalexprError::WrongTypeCombination{operator, actual}
.
Constructs EvalexprError::ExpectedString{actual}
.
Constructs EvalexprError::ExpectedInt{actual}
.
Constructs EvalexprError::ExpectedFloat{actual}
.
Constructs EvalexprError::ExpectedNumber{actual}
.
Constructs EvalexprError::ExpectedNumberOrString{actual}
.
Constructs EvalexprError::ExpectedBoolean{actual}
.
Constructs EvalexprError::ExpectedTuple{actual}
.
Constructs EvalexprError::ExpectedFixedLenTuple{expected_len, actual}
.
Constructs EvalexprError::ExpectedEmpty{actual}
.
Constructs EvalexprError::InvalidRegex(regex)
Trait Implementations
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.