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

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Cast a value to type U using CastTo.

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more