pub enum ExpressionError {
Empty,
TooLong,
TooDeep,
UnexpectedChar {
pos: usize,
ch: char,
},
UnterminatedString {
pos: usize,
},
InvalidNumber {
pos: usize,
},
UnexpectedToken {
pos: usize,
found: String,
},
UnexpectedEnd,
UnknownRoot(String),
}Expand description
Error returned when an expression fails to parse.
Positions are byte offsets into the source.
§Examples
use ironflow_engine::expression::{Expression, ExpressionError};
let err = Expression::parse("foo.bar == 1").unwrap_err();
assert_eq!(err, ExpressionError::UnknownRoot("foo".to_string()));Variants§
Empty
The source is empty or only whitespace.
TooLong
The source exceeds MAX_EXPRESSION_LEN bytes.
TooDeep
Parentheses or ! are nested deeper than MAX_EXPRESSION_DEPTH.
UnexpectedChar
A character that starts no token.
UnterminatedString
A string literal without its closing quote.
InvalidNumber
A malformed number literal.
UnexpectedToken
A token that does not fit the grammar at this point.
UnexpectedEnd
The source ended where more input was expected.
UnknownRoot(String)
A path starts with an identifier outside EXPRESSION_ROOTS.
Trait Implementations§
Source§impl Clone for ExpressionError
impl Clone for ExpressionError
Source§impl Debug for ExpressionError
impl Debug for ExpressionError
Source§impl Display for ExpressionError
impl Display for ExpressionError
impl Eq for ExpressionError
Source§impl Error for ExpressionError
impl Error for ExpressionError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl PartialEq for ExpressionError
impl PartialEq for ExpressionError
impl StructuralPartialEq for ExpressionError
Auto Trait Implementations§
impl Freeze for ExpressionError
impl RefUnwindSafe for ExpressionError
impl Send for ExpressionError
impl Sync for ExpressionError
impl Unpin for ExpressionError
impl UnsafeUnpin for ExpressionError
impl UnwindSafe for ExpressionError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.