Trait chalk_recursive::solve::SolveIterationHelpers  
source · trait SolveIterationHelpers<I: Interner>: SolveDatabase<I> {
    // Provided methods
    fn solve_via_simplification(
        &mut self,
        canonical_goal: &UCanonicalGoal<I>,
        minimums: &mut Minimums,
        should_continue: impl Fn() -> bool + Clone,
    ) -> Fallible<Solution<I>> { ... }
    fn solve_from_clauses(
        &mut self,
        canonical_goal: &UCanonical<InEnvironment<DomainGoal<I>>>,
        minimums: &mut Minimums,
        should_continue: impl Fn() -> bool + Clone,
    ) -> Fallible<Solution<I>> { ... }
    fn new_inference_table<T: TypeFoldable<I> + HasInterner<Interner = I> + Clone>(
        &self,
        ucanonical_goal: &UCanonical<InEnvironment<T>>,
    ) -> (InferenceTable<I>, Substitution<I>, InEnvironment<T>) { ... }
}Expand description
Helper methods for solve_iteration, private to this module.
Provided Methods§
fn solve_via_simplification( &mut self, canonical_goal: &UCanonicalGoal<I>, minimums: &mut Minimums, should_continue: impl Fn() -> bool + Clone, ) -> Fallible<Solution<I>>
sourcefn solve_from_clauses(
    &mut self,
    canonical_goal: &UCanonical<InEnvironment<DomainGoal<I>>>,
    minimums: &mut Minimums,
    should_continue: impl Fn() -> bool + Clone,
) -> Fallible<Solution<I>>
 
fn solve_from_clauses( &mut self, canonical_goal: &UCanonical<InEnvironment<DomainGoal<I>>>, minimums: &mut Minimums, should_continue: impl Fn() -> bool + Clone, ) -> Fallible<Solution<I>>
See whether we can solve a goal by implication on any of the given clauses. If multiple such solutions are possible, we attempt to combine them.
fn new_inference_table<T: TypeFoldable<I> + HasInterner<Interner = I> + Clone>( &self, ucanonical_goal: &UCanonical<InEnvironment<T>>, ) -> (InferenceTable<I>, Substitution<I>, InEnvironment<T>)
Object Safety§
This trait is not object safe.