Enum knightrs::Error[][src]

pub enum Error {
    DivisionByZero {
        kind: &'static str,
    },
    Domain {
        message: &'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>),
}
Expand description

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.

Domain
Show fields

Fields of Domain

message: &'static str
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]

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

Formats the value using the given formatter. Read more

impl Display for Error[src]

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

Formats the value using the given formatter. Read more

impl Error for Error[src]

fn source(&self) -> Option<&(dyn ErrorTrait + 'static)>[src]

The lower-level source of this error, if any. Read more

fn backtrace(&self) -> Option<&Backtrace>[src]

🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

fn description(&self) -> &str1.0.0[src]

👎 Deprecated since 1.42.0:

use the Display impl or to_string()

fn cause(&self) -> Option<&dyn Error>1.0.0[src]

👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

impl From<Error> for Error[src]

fn from(err: Error) -> Self[src]

Performs the conversion.

impl From<InvalidChar> for Error[src]

fn from(err: InvalidChar) -> Self[src]

Performs the conversion.

impl From<ParseError> for Error[src]

fn from(err: ParseError) -> Self[src]

Performs the conversion.

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]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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

pub default fn to_string(&self) -> String[src]

Converts the given value to a String. Read more

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.

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

Performs the conversion.

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.

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

Performs the conversion.

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

pub fn vzip(self) -> V