pub enum WsErrorKind {
    ParseError(usize, usize, usize),
    StackError,
    KeyError,
    InvalidIndex,
    CallStackError,
    DivisionError,
    IOError,
    RuntimeParseError,
    Overflow,
    InumOverflow(isize, BigInt),
}
Expand description

Simple information on what kind of error occurred.

Variants§

§

ParseError(usize, usize, usize)

Compile-time parse error

§

StackError

The stack was not of the correct size to execute an instruction.

§

KeyError

A missing key was requested from the heap.

§

InvalidIndex

The program tried to execute an instruction that doesn’t exist (generally caused by control flow hitting the end of the program).

§

CallStackError

The program tried to return but there was no location to return to on the callstack.

§

DivisionError

Division or Modulo by zero.

§

IOError

Something went wrong while trying to read from input or write to output.

§

RuntimeParseError

The program tried to read a number but no number was given.

§

Overflow

An overflow occurred during an arithmetric operation. This will normally not be returned unless fallback is disabled.

§

InumOverflow(isize, BigInt)

An overflow occurred when a number input was requested. This is a bit of a special case, as the state cannot be rewound to before the number was parsed. Therefore, the key where the number will be read to, and the oversized integer that was parsed are returned in the error, and the location at which the error occurred is set to be the operation after the failed inum operation. Again, this will not be returned unless fallback is disabled.

Trait Implementations§

source§

impl Clone for WsErrorKind

source§

fn clone(&self) -> WsErrorKind

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for WsErrorKind

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.