#[non_exhaustive]pub enum PathError {
DisjointPaths,
Transition(TransitionError),
Unify(UnifyError),
UnboundVariable,
VariableOverflow,
}Expand description
Why two partial paths do not form one walk.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
DisjointPaths
The second path does not start where the first one ends.
Transition(TransitionError)
The node where the paths meet does not match the stacks around it.
Unify(UnifyError)
The stack one path leaves does not match the stack the other needs.
UnboundVariable
The stack left ends in a variable the stack needed lacks.
VariableOverflow
Renaming the variables apart ran past the last variable number.
Trait Implementations§
impl Copy for PathError
impl Eq for PathError
Source§impl From<TransitionError> for PathError
impl From<TransitionError> for PathError
Source§fn from(error: TransitionError) -> Self
fn from(error: TransitionError) -> Self
Converts to this type from the input type.
Source§impl From<UnifyError> for PathError
impl From<UnifyError> for PathError
Source§fn from(error: UnifyError) -> Self
fn from(error: UnifyError) -> Self
Converts to this type from the input type.
impl StructuralPartialEq for PathError
Auto Trait Implementations§
impl Forget for PathError
impl Freeze for PathError
impl RefUnwindSafe for PathError
impl Send for PathError
impl Sync for PathError
impl Unpin for PathError
impl UnsafeUnpin for PathError
impl UnwindSafe for PathError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more