Enum chalk_engine::logic::RootSearchFail
source · pub(crate) enum RootSearchFail {
NoMoreSolutions,
Floundered,
QuantumExceeded,
NegativeCycle,
InvalidAnswer,
}
Expand description
The different ways that a root search (which potentially pursues many strands) can fail. A root search is one that begins with an empty stack.
Variants§
NoMoreSolutions
The table we were trying to solve cannot succeed.
Floundered
The table cannot be solved without more type information.
QuantumExceeded
We did not find a solution, but we still have things to try. Repeat the request, and we’ll give one of those a spin.
(In a purely depth-first-based solver, like Prolog, this doesn’t appear.)
NegativeCycle
A negative cycle was found. This is fail-fast, so even if there was possibly a solution (ambiguous or not), it may not have been found.
InvalidAnswer
The current answer index is not useful. Currently, this is returned because the current answer needs refining.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RootSearchFail
impl RefUnwindSafe for RootSearchFail
impl Send for RootSearchFail
impl Sync for RootSearchFail
impl Unpin for RootSearchFail
impl UnwindSafe for RootSearchFail
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