[][src]Enum inkling::error::InternalError

pub enum InternalError {
    BadKnotStack(StackError),
    CouldNotProcess(ProcessError),
    IncorrectChoiceIndex {
        selection: usize,
        available_choices: Vec<ChoiceInfo>,
        stack_index: usize,
        stack: Vec<usize>,
    },
    IncorrectNodeStack(IncorrectNodeStackError),
    UseOfVariableAsLocation {
        name: String,
    },
    UseOfUnvalidatedAddress {
        address: Address,
    },
}

Internal errors from inkling.

These are errors which arise when the library produces objects, trees, text or internal stacks that are inconsistent with each other or themselves.

If the library is well written these should not possibly occur; at least until this point every part of the internals are fully deterministic. That obviously goes for a lot of buggy code that has been written since forever, so nothing unique there.

Either way, all those sorts of errors are encapsulated here. They should never be caused by invalid user input or Ink files, those errors should be captured by either the parent InklingError or parsing ReadError error structures.

Variants

BadKnotStack(StackError)

The internal stack of knots is inconsistent or has not been set properly.

CouldNotProcess(ProcessError)

Could not Process a line of text into its final form.

IncorrectChoiceIndex

Selected branch index does not exist.

Fields of IncorrectChoiceIndex

selection: usize

Selection index.

available_choices: Vec<ChoiceInfo>

Available choices at the branching point.

stack_index: usize

Index in stack where the error occurred.

stack: Vec<usize>

Stack of choices from the root node to the branching point.

IncorrectNodeStack(IncorrectNodeStackError)

Current stack is not properly representing the graph or has some indexing problems.

UseOfVariableAsLocation

Tried to use a variable address as a location.

Fields of UseOfVariableAsLocation

name: String
UseOfUnvalidatedAddress

Tried to use an unvalidated address after the story was parsed.

Fields of UseOfUnvalidatedAddress

address: Address

Trait Implementations

impl Clone for InternalError[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl From<InternalError> for InklingError[src]

impl Display for InternalError[src]

impl Debug for InternalError[src]

impl Error for InternalError[src]

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

This method is soft-deprecated. Read more

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

Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

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

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

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

Auto Trait Implementations

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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<T> BorrowMut<T> for T where
    T: ?Sized
[src]

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

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