[][src]Enum zia::ZiaError

pub enum ZiaError {
    RedundantReduction,
    RedundantDefinition,
    RedundantRefactor,
    RedundantDefinitionRemoval,
    BadDefinition,
    CyclicReduction,
    CannotExpandFurther,
    CannotReduceFurther,
    ExpandingReduction,
    MissingSymbol {
        symbol: &'static str,
    },
    InfiniteDefinition,
    EmptyParentheses,
    AmbiguousExpression,
    DefinitionCollision,
    SettingDefinitionOfConcrete,
    ConcreteReduction,
    MultipleReductionPaths,
    UnusedSymbol,
}

All the expected ways a Zia command could be invalid.

Variants

RedundantReduction

When specifying a reduction rule that already exists.

RedundantDefinition

When specifying a definition that already exists.

RedundantRefactor

When refactoring a symbol that hasn't been used.

RedundantDefinitionRemoval

When removing a definition from a concept with no definition.

BadDefinition

When defining an expanded expression.

CyclicReduction

When the command would complete a cycle of chained reduction rules.

CannotExpandFurther

When syntax tree cannot be expanded further

CannotReduceFurther

When syntax tree cannot be reduced further

ExpandingReduction

When a concept is contained within the concept that it reduces to.

MissingSymbol

When a required symbol is missing from a command

Fields of MissingSymbol

symbol: &'static str
InfiniteDefinition

When a concept is contained within the normal form of its definition.

EmptyParentheses

When a command contains a pair of parentheses with no syntax inside.

AmbiguousExpression

When the interpreter cannot determine the tree structure of an expression.

DefinitionCollision

When trying to refactor a used symbol as another used symbol or expression.

SettingDefinitionOfConcrete

When trying to define the composition of a concrete concept.

ConcreteReduction

When trying to specify a reduction rule for a concrete concept.

MultipleReductionPaths

When trying to specify a reduction rule for a concept whose components reduce to something else.

UnusedSymbol

When symbol is expected to be used by a concept but isn't.

Trait Implementations

impl Clone for ZiaError[src]

impl Debug for ZiaError[src]

impl Display for ZiaError[src]

impl Error for ZiaError where
    Self: Debug + Display
[src]

impl ErrorCompat for ZiaError[src]

impl PartialEq<ZiaError> for ZiaError[src]

impl StructuralPartialEq for ZiaError[src]

Auto Trait Implementations

Blanket Implementations

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

impl<T> AsErrorSource for T where
    T: 'static + Error
[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> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized
[src]

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

type Owned = T

The resulting type after obtaining ownership.

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.