Enum rsjsonnet_lang::program::EvalErrorKind
source · pub enum EvalErrorKind {
Show 41 variants
StackOverflow,
InfiniteRecursion,
InvalidIndexedType {
span: SpanId,
got_type: EvalErrorValueType,
},
StringIndexIsNotNumber {
span: SpanId,
got_type: EvalErrorValueType,
},
ArrayIndexIsNotNumber {
span: SpanId,
got_type: EvalErrorValueType,
},
NumericIndexIsNotValid {
span: SpanId,
index: String,
},
NumericIndexOutOfRange {
span: SpanId,
index: usize,
length: usize,
},
ObjectIndexIsNotString {
span: SpanId,
got_type: EvalErrorValueType,
},
RepeatedFieldName {
span: SpanId,
name: String,
},
FieldNameIsNotString {
span: SpanId,
got_type: EvalErrorValueType,
},
UnknownObjectField {
span: SpanId,
field_name: String,
},
FieldOfNonObject {
span: SpanId,
},
SuperWithoutSuperObject {
span: SpanId,
},
ForSpecValueIsNotArray {
span: SpanId,
got_type: EvalErrorValueType,
},
CondIsNotBool {
span: SpanId,
got_type: EvalErrorValueType,
},
CalleeIsNotFunction {
span: Option<SpanId>,
got_type: EvalErrorValueType,
},
TooManyCallArgs {
span: Option<SpanId>,
num_params: usize,
},
UnknownCallParam {
span: Option<SpanId>,
param_name: String,
},
RepeatedCallParam {
span: Option<SpanId>,
param_name: String,
},
CallParamNotBound {
span: Option<SpanId>,
param_name: String,
},
NativeCallFailed,
InvalidUnaryOpType {
span: SpanId,
op: UnaryOp,
rhs_type: EvalErrorValueType,
},
InvalidBinaryOpTypes {
span: Option<SpanId>,
op: BinaryOp,
lhs_type: EvalErrorValueType,
rhs_type: EvalErrorValueType,
},
NumberOverflow {
span: Option<SpanId>,
},
NumberNan {
span: Option<SpanId>,
},
DivByZero {
span: Option<SpanId>,
},
ShiftByNegative {
span: Option<SpanId>,
},
InvalidBuiltInFuncArgType {
func_name: String,
arg_index: usize,
expected_types: Vec<EvalErrorValueType>,
got_type: EvalErrorValueType,
},
AssertFailed {
span: SpanId,
message: Option<String>,
},
AssertEqualFailed {
lhs: String,
rhs: String,
},
ExplicitError {
span: SpanId,
message: String,
},
ImportFailed {
span: SpanId,
path: String,
},
UnknownExtVar {
name: String,
},
ManifestFunction,
CompareNullInequality,
CompareBooleanInequality,
CompareObjectInequality,
CompareFunctions,
CompareDifferentTypesInequality {
lhs_type: EvalErrorValueType,
rhs_type: EvalErrorValueType,
},
PrimitiveEqualsNonPrimitive {
got_type: EvalErrorValueType,
},
Other {
span: Option<SpanId>,
message: String,
},
}Variants§
StackOverflow
InfiniteRecursion
InvalidIndexedType
StringIndexIsNotNumber
ArrayIndexIsNotNumber
NumericIndexIsNotValid
NumericIndexOutOfRange
ObjectIndexIsNotString
RepeatedFieldName
FieldNameIsNotString
UnknownObjectField
FieldOfNonObject
SuperWithoutSuperObject
ForSpecValueIsNotArray
CondIsNotBool
CalleeIsNotFunction
TooManyCallArgs
UnknownCallParam
RepeatedCallParam
CallParamNotBound
NativeCallFailed
InvalidUnaryOpType
InvalidBinaryOpTypes
NumberOverflow
NumberNan
DivByZero
ShiftByNegative
InvalidBuiltInFuncArgType
AssertFailed
AssertEqualFailed
ExplicitError
ImportFailed
UnknownExtVar
ManifestFunction
CompareNullInequality
CompareBooleanInequality
CompareObjectInequality
CompareFunctions
CompareDifferentTypesInequality
PrimitiveEqualsNonPrimitive
Fields
§
got_type: EvalErrorValueTypeOther
Trait Implementations§
source§impl Clone for EvalErrorKind
impl Clone for EvalErrorKind
source§fn clone(&self) -> EvalErrorKind
fn clone(&self) -> EvalErrorKind
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for EvalErrorKind
impl Debug for EvalErrorKind
source§impl PartialEq for EvalErrorKind
impl PartialEq for EvalErrorKind
source§fn eq(&self, other: &EvalErrorKind) -> bool
fn eq(&self, other: &EvalErrorKind) -> bool
This method tests for
self and other values to be equal, and is used
by ==.impl Eq for EvalErrorKind
impl StructuralPartialEq for EvalErrorKind
Auto Trait Implementations§
impl Freeze for EvalErrorKind
impl RefUnwindSafe for EvalErrorKind
impl Send for EvalErrorKind
impl Sync for EvalErrorKind
impl Unpin for EvalErrorKind
impl UnwindSafe for EvalErrorKind
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)