pub(crate) trait SolveIteration<I: Interner>: SolveDatabase<I> {
    // Provided method
    fn solve_iteration(
        &mut self,
        canonical_goal: &UCanonicalGoal<I>,
        minimums: &mut Minimums,
        should_continue: impl Fn() -> bool + Clone
    ) -> Fallible<Solution<I>> { ... }
}
Expand description

The solve_iteration method – implemented for any type that implements SolveDb.

Provided Methods§

source

fn solve_iteration( &mut self, canonical_goal: &UCanonicalGoal<I>, minimums: &mut Minimums, should_continue: impl Fn() -> bool + Clone ) -> Fallible<Solution<I>>

Executes one iteration of the recursive solver, computing the current solution to the given canonical goal. This is used as part of a loop in the case of cyclic goals.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<S, I> SolveIteration<I> for S
where S: SolveDatabase<I>, I: Interner,