pub enum VmError {
Show 52 variants
InstructionLimitExceeded {
limit: usize,
executed: usize,
pc: usize,
},
TimeLimitExceeded {
elapsed: Duration,
limit: Duration,
pc: usize,
},
MemoryLimitExceeded {
usage: u64,
limit: u64,
pc: usize,
},
LiteralIndexOutOfBounds {
index: u16,
pc: usize,
},
RegisterNotObject {
register: u8,
value: Value,
pc: usize,
},
ObjectCreateInvalidTemplate {
template: Value,
pc: usize,
},
RegisterNotArray {
register: u8,
value: Value,
pc: usize,
},
RegisterNotSet {
register: u8,
value: Value,
pc: usize,
},
RegisterIndexOutOfBounds {
index: u8,
pc: usize,
register_count: usize,
},
RuleIndexOutOfBounds {
index: u16,
pc: usize,
available: usize,
},
RuleInfoMissing {
index: u16,
pc: usize,
available: usize,
},
InvalidObjectCreateParams {
index: u16,
pc: usize,
available: usize,
},
InvalidTemplateLiteralIndex {
index: u16,
pc: usize,
available: usize,
},
InvalidChainedIndexParams {
index: u16,
pc: usize,
available: usize,
},
InvalidArrayCreateParams {
index: u16,
pc: usize,
available: usize,
},
InvalidSetCreateParams {
index: u16,
pc: usize,
available: usize,
},
InvalidVirtualDataDocumentLookupParams {
index: u16,
pc: usize,
available: usize,
},
InvalidComprehensionBeginParams {
index: u16,
pc: usize,
available: usize,
},
InvalidLoopParams {
index: u16,
pc: usize,
available: usize,
},
InvalidRuleIndex {
rule_index: Value,
pc: usize,
},
InvalidRuleTreeEntry {
value: Value,
pc: usize,
},
BuiltinArgumentMismatch {
expected: u16,
actual: usize,
pc: usize,
},
BuiltinNotResolved {
name: String,
pc: usize,
},
InvalidAddition {
left: Value,
right: Value,
pc: usize,
},
InvalidSubtraction {
left: Value,
right: Value,
pc: usize,
},
InvalidMultiplication {
left: Value,
right: Value,
pc: usize,
},
InvalidDivision {
left: Value,
right: Value,
pc: usize,
},
ModuloOnFloat {
left: Value,
right: Value,
pc: usize,
},
InvalidModulo {
left: Value,
right: Value,
pc: usize,
},
InvalidIteration {
value: Value,
pc: usize,
},
HostAwaitResponseMissing {
dest: u8,
identifier: Value,
pc: usize,
},
AssertionFailed {
pc: usize,
},
RuleDataConflict {
message: String,
pc: usize,
},
ArithmeticError {
message: String,
pc: usize,
},
InvalidEntryPointIndex {
index: usize,
max_index: usize,
pc: usize,
},
EntryPointNotFound {
name: String,
available: Vec<String>,
pc: usize,
},
EntryPointPcOutOfBounds {
pc: usize,
instruction_count: usize,
entry_point: String,
},
RegisterCountBelowBase {
register_count: usize,
base_count: usize,
pc: usize,
},
ProgramCounterOutOfBounds {
pc: usize,
instruction_count: usize,
},
RuleCacheSizeMismatch {
cache_size: usize,
rule_info_count: usize,
pc: usize,
},
UnsupportedSuspendInRunToCompletion {
reason: SuspendReason,
pc: usize,
},
InvalidResumeState {
state: String,
pc: usize,
},
MissingResumeValue {
reason: SuspendReason,
pc: usize,
},
UnexpectedResumeValue {
reason: SuspendReason,
pc: usize,
},
MissingExecutionFrame {
context: &'static str,
pc: usize,
},
UnhandledInstruction {
instruction: String,
pc: usize,
},
InvalidFunctionCallParamsIndex {
index: u16,
pc: usize,
available: usize,
},
InvalidBuiltinCallParamsIndex {
index: u16,
pc: usize,
available: usize,
},
InvalidBuiltinInfoIndex {
index: u16,
pc: usize,
available: usize,
},
RuleFrameMissingInitialPc {
pc: usize,
},
CallRuleStackUnderflow {
pc: usize,
},
Internal {
message: String,
pc: usize,
},
}Available on crate feature
rvm only.Expand description
VM execution errors
Variants§
InstructionLimitExceeded
TimeLimitExceeded
MemoryLimitExceeded
LiteralIndexOutOfBounds
RegisterNotObject
ObjectCreateInvalidTemplate
RegisterNotArray
RegisterNotSet
RegisterIndexOutOfBounds
RuleIndexOutOfBounds
RuleInfoMissing
InvalidObjectCreateParams
InvalidTemplateLiteralIndex
InvalidChainedIndexParams
InvalidArrayCreateParams
InvalidSetCreateParams
InvalidVirtualDataDocumentLookupParams
InvalidComprehensionBeginParams
InvalidLoopParams
InvalidRuleIndex
InvalidRuleTreeEntry
BuiltinArgumentMismatch
BuiltinNotResolved
InvalidAddition
InvalidSubtraction
InvalidMultiplication
InvalidDivision
ModuloOnFloat
InvalidModulo
InvalidIteration
HostAwaitResponseMissing
AssertionFailed
RuleDataConflict
ArithmeticError
InvalidEntryPointIndex
EntryPointNotFound
EntryPointPcOutOfBounds
RegisterCountBelowBase
ProgramCounterOutOfBounds
RuleCacheSizeMismatch
UnsupportedSuspendInRunToCompletion
InvalidResumeState
MissingResumeValue
UnexpectedResumeValue
MissingExecutionFrame
UnhandledInstruction
InvalidFunctionCallParamsIndex
InvalidBuiltinCallParamsIndex
InvalidBuiltinInfoIndex
RuleFrameMissingInitialPc
CallRuleStackUnderflow
Internal
Trait Implementations§
Source§impl Error for VmError
impl Error for VmError
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()
impl StructuralPartialEq for VmError
Auto Trait Implementations§
impl Freeze for VmError
impl RefUnwindSafe for VmError
impl Send for VmError
impl Sync for VmError
impl Unpin for VmError
impl UnwindSafe for VmError
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