Enum knightrs::Error[][src]

pub enum Error {
    DivisionByZero {
        kind: &'static str,
    },
    UnknownIdentifier {
        identifier: Box<str>,
    },
    InvalidOperand {
        func: char,
        operand: &'static str,
    },
    UndefinedConversion {
        into: &'static str,
        kind: &'static str,
    },
    Quit(i32),
    Parse(ParseError),
    InvalidString(InvalidChar),
    Io(Error),
    Custom(Box<dyn ErrorTrait>),
}

An error occurred whilst executing a knight program.

Variants

DivisionByZero

A division (or modulus) by zero was attempted.

Show fields

Fields of DivisionByZero

kind: &'static str

What kind of error it is—power, modulo, or division.

UnknownIdentifier

An unknown identifier was attempted to be dereferenced.

Show fields

Fields of UnknownIdentifier

identifier: Box<str>

The identifier at fault.

InvalidOperand

A function was executed with an invalid operand.

Show fields

Fields of InvalidOperand

func: char

The function that was attempted.

operand: &'static str

The type of the operand.

UndefinedConversion

A conversion was attempted for a type which doesn’t implement it.

This is only used for Value::Variable and Value::Function, as all other types have well-defined conversion semantics.

Show fields

Fields of UndefinedConversion

into: &'static str

The resulting type, had the conversion been defined.

kind: &'static str

The kind that didnt implement the conversion.

Quit(i32)

Exit with the given status code.

Parse(ParseError)

An error occurred whilst parsing (i.e. EVAL failed).

InvalidString(InvalidChar)

An invalid string was encountered.

Io(Error)

An i/o error occurred (i.e. ` or PROMPT failed).

Custom(Box<dyn ErrorTrait>)

An error class that can be used to raise other, custom errors.

Trait Implementations

impl Debug for Error[src]

impl Display for Error[src]

impl Error for Error[src]

impl From<Error> for Error[src]

impl From<InvalidChar> for Error[src]

impl From<ParseError> for Error[src]

Auto Trait Implementations

impl !RefUnwindSafe for Error

impl !Send for Error

impl !Sync for Error

impl Unpin for Error

impl !UnwindSafe for Error

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,