[−][src]Enum runestick::VmError
Errors raised by the execution of the virtual machine.
Variants
The virtual machine panicked for no specific reason.
Fields of Panic
reason: Panic
The reason for the panic.
The virtual machine encountered a numerical overflow.
The virtual machine encountered a numerical underflow.
The virtual machine encountered a divide-by-zero.
Error raised in a user-defined function.
Fields of UserError
error: Error
Source error.
Failure to lookup function.
Fields of MissingFunction
hash: Hash
Hash of function to look up.
Failure to lookup module.
Fields of MissingModule
module: Hash
Hash of module to look up.
Failure to lookup function in a module.
Fields of MissingModuleFunction
Instruction pointer went out-of-bounds.
Unsupported binary operation.
Fields of UnsupportedBinaryOperation
op: &'static str
Operation.
lhs: ValueTypeInfo
Left-hand side operator.
rhs: ValueTypeInfo
Right-hand side operator.
Unsupported unary operation.
Fields of UnsupportedUnaryOperation
Unsupported argument to object-exact-keys.
Fields of UnsupportedObjectKey
actual: ValueTypeInfo
The encountered argument.
Unsupported argument to string-concat
Fields of UnsupportedStringConcatArgument
actual: ValueTypeInfo
The encountered argument.
Attempt to access out-of-bounds stack item.
Indicates that a static string is missing for the given slot.
Fields of MissingStaticString
slot: usize
Slot which is missing a static string.
Indicates that a static object keys is missing for the given slot.
Fields of MissingStaticObjectKeys
slot: usize
Slot which is missing a static object keys.
Saw an unexpected stack value.
Fields of StackTopTypeError
Indicates a failure to convert from one type to another.
Fields of StackConversionError
error: Box<VmError>
The source of the error.
from: ValueTypeInfo
The actual type to be converted.
to: &'static str
The expected type to convert towards.
Failure to convert from one type to another.
Fields of ArgumentConversionError
error: Box<VmError>
The underlying stack error.
arg: usize
The argument location that was converted.
from: ValueTypeInfo
The value type we attempted to convert from.
to: &'static str
The native type we attempt to convert to.
Wrong number of arguments provided in call.
Fields of ArgumentCountMismatch
Failure to convert return value.
Fields of ReturnConversionError
An index set operation that is not supported.
Fields of UnsupportedIndexSet
target_type: ValueTypeInfo
The target type to set.
index_type: ValueTypeInfo
The index to set.
value_type: ValueTypeInfo
The value to set.
An index get operation that is not supported.
Fields of UnsupportedIndexGet
An array index get operation that is not supported.
Fields of UnsupportedArrayIndexGet
target_type: ValueTypeInfo
The target type we tried to perform the array indexing on.
An object slot index get operation that is not supported.
Fields of UnsupportedObjectSlotIndexGet
target_type: ValueTypeInfo
The target type we tried to perform the object indexing on.
An is operation is not supported.
Fields of UnsupportedIs
value_type: ValueTypeInfo
The argument that is not supported.
test_type: ValueTypeInfo
The type that is not supported.
Encountered a value that could not be dereferenced.
Fields of UnsupportedReplaceDeref
target_type: ValueTypeInfo
The type we try to assign to.
value_type: ValueTypeInfo
The type we try to assign.
Encountered a value that could not be dereferenced.
Fields of UnsupportedDeref
actual_type: ValueTypeInfo
The type that could not be de-referenced.
Missing type.
Fields of MissingType
hash: Hash
Hash of the type missing.
Attempting to assign an illegal pointer.
Fields of IllegalPtrReplace
Encountered a value that could not be called as a function
Fields of UnsupportedCallFn
actual_type: ValueTypeInfo
The type that could not be called.
Tried to fetch an index in an array that doesn't exist.
Fields of ArrayIndexMissing
index: usize
The missing index.
Tried to fetch an index in an object that doesn't exist.
Fields of ObjectIndexMissing
slot: usize
The static string slot corresponding to the index that is missing.
Internal error that happens when we run out of items in a list.
stack is empty
Attempt to pop outside of current frame offset.
Fields of PopOutOfBounds
frame: usize
CallFrame offset that we tried to pop.
The given slot is missing.
Fields of SlotMissing
slot: Slot
The slot that was missing.
The given slot is inaccessible.
Fields of SlotInaccessibleExclusive
slot: Slot
The slot that could not be accessed.
The given slot is inaccessible.
Error raised when we expect a specific external type but got another.
Fields of UnexpectedSlotType
Error raised when we expected a unit.
Fields of ExpectedNone
actual: ValueTypeInfo
The actual type found.
Error raised when we expected a boolean value.
Fields of ExpectedBoolean
actual: ValueTypeInfo
The actual type found.
Error raised when we expected a char value.
Fields of ExpectedChar
actual: ValueTypeInfo
The actual type found.
Error raised when an integer value was expected.
Fields of ExpectedInteger
actual: ValueTypeInfo
The actual type found.
Error raised when we expected a float value.
Fields of ExpectedFloat
actual: ValueTypeInfo
The actual type found.
Error raised when we expected a string.
Fields of ExpectedString
actual: ValueTypeInfo
The actual type observed instead.
Error raised when we expected a array.
Fields of ExpectedArray
actual: ValueTypeInfo
The actual type observed instead.
Error raised when we expected an array of the given length.
Fields of ExpectedArrayLength
Error raised when we expected a object.
Fields of ExpectedObject
actual: ValueTypeInfo
The actual type observed instead.
Error raised when we expected an external value.
Fields of ExpectedExternal
actual: ValueTypeInfo
The actual type observed instead.
Error raised when we expected a managed value.
Fields of ExpectedManaged
actual: ValueTypeInfo
The actual type observed instead.
Error raised when we expected a future.
Fields of ExpectedFuture
actual: ValueTypeInfo
The actual type found.
Error raised when we expected a managed value with a specific slot.
Failure to convert a number into an integer.
Fields of ValueToIntegerCoercionError
Failure to convert an integer into a value.
Fields of IntegerToValueCoercionError
We encountered a corrupted stack frame.
Fields of CorruptedStackFrame
Error raised when the branch register is empty.
Fields of BranchEmpty
Trait Implementations
impl Debug for VmError
[src]
impl Display for VmError
[src]
impl Error for VmError
[src]
fn source(&self) -> Option<&(dyn Error + 'static)>
[src]
fn backtrace(&self) -> Option<&Backtrace>
[src]
fn description(&self) -> &str
1.0.0[src]
fn cause(&self) -> Option<&dyn Error>
1.0.0[src]
impl Error for VmError
[src]
fn custom<T>(msg: T) -> Self where
T: Display,
[src]
T: Display,
fn invalid_type(unexp: Unexpected, exp: &dyn Expected) -> Self
[src]
fn invalid_value(unexp: Unexpected, exp: &dyn Expected) -> Self
[src]
fn invalid_length(len: usize, exp: &dyn Expected) -> Self
[src]
fn unknown_variant(variant: &str, expected: &'static [&'static str]) -> Self
[src]
fn unknown_field(field: &str, expected: &'static [&'static str]) -> Self
[src]
fn missing_field(field: &'static str) -> Self
[src]
fn duplicate_field(field: &'static str) -> Self
[src]
impl From<Error> for VmError
[src]
Auto Trait Implementations
impl RefUnwindSafe for VmError
impl Send for VmError
impl Sync for VmError
impl Unpin for VmError
impl UnwindSafe for VmError
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,