#[non_exhaustive]pub enum EvalError {
UndefinedVariable(String),
InvalidPath(String),
TypeError {
expected: &'static str,
got: String,
},
CommandFailed(String),
NoExecutor,
ArithmeticError(String),
RegexError(String),
Unsupported(String),
}Expand description
Errors that can occur during expression evaluation.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
UndefinedVariable(String)
Variable not found in scope.
InvalidPath(String)
Path resolution failed (bad field/index access).
TypeError
Type mismatch for operation.
CommandFailed(String)
Command substitution failed.
NoExecutor
A node that only the async evaluator can handle (command substitution, or a command used as a condition) reached the sync evaluator, which has no way to execute pipelines. Unreachable in practice — the kernel resolves these to literals first — but loud rather than silently empty.
ArithmeticError(String)
Division by zero or similar arithmetic error.
RegexError(String)
Invalid regex pattern.
Unsupported(String)
A collection (list/record) was compared to a scalar with ==/!=, or a
collection form (${#…}, ${…:-default}) was used on a subscripted path
before that path support landed. Carries a full teaching message.
Trait Implementations§
Source§impl Error for EvalError
impl Error for EvalError
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
use the Display impl or to_string()
impl StructuralPartialEq for EvalError
Auto Trait Implementations§
impl Freeze for EvalError
impl RefUnwindSafe for EvalError
impl Send for EvalError
impl Sync for EvalError
impl Unpin for EvalError
impl UnsafeUnpin for EvalError
impl UnwindSafe for EvalError
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
impl<T> OrderedSeq<'_, T> for Twhere
T: Clone,
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
Source§impl<T, S> SpanWrap<S> for Twhere
S: WrappingSpan<T>,
impl<T, S> SpanWrap<S> for Twhere
S: WrappingSpan<T>,
Source§fn with_span(self, span: S) -> <S as WrappingSpan<Self>>::Spanned
fn with_span(self, span: S) -> <S as WrappingSpan<Self>>::Spanned
WrappingSpan::make_wrapped to wrap an AST node in a span.