fn iter_answers<'f>(
        &'f mut self,
        goal: &C::UCanonicalGoalInEnvironment,
    ) -> impl AnswerStream<C> + 'f {
        let table = self.get_or_create_table_for_ucanonical_goal(goal.clone());
        let answer = AnswerIndex::ZERO;
        ForestSolver {
            forest: self,
            table,
            answer,
        }
    }
/// Returns a "solver" for a given goal in the form of an
/// iterator. Each time you invoke `next`, it will do the work to
/// extract one more answer. These answers are cached in between
/// invocations. Invoking `next` fewer times is preferable =)
Returns a "solver" for a given goal in the form of an
iterator. Each time you invoke `next`, it will do the work to
extract one more answer. These answers are cached in between
invocations. Invoking `next` fewer times is preferable =)
Returns a " solver " for a given goal in the form of an iterator . Each time you invoke ` next ` it will do the work to extract one more answer . These answers are cached in between invocations . Invoking ` next ` fewer times is preferable = )
fn iter_answers<'f>(
        &'f mut self,
        goal: &C::UCanonicalGoalInEnvironment,
    ) -> impl AnswerStream<C> + 'f {
        let table = self.get_or_create_table_for_ucanonical_goal(goal.clone());
        let answer = AnswerIndex::ZERO;
        ForestSolver {
            forest: self,
            table,
            answer,
        }
    }
fn iter_answers < ' f > ( & ' f mut self , goal : & C :: UCanonicalGoalInEnvironment , ) -> impl AnswerStream < C > + ' f { let table = self . get_or_create_table_for_ucanonical_goal ( goal . clone ( ) ) ; let answer = AnswerIndex :: ZERO ; ForestSolver { forest : self , table , answer , } }
Returns a "solver" for a given goal in the form of an
iterator.
Returns a " solver " for a given goal in the form of an iterator .
&'f mut self
goal
&C::UCanonicalGoalInEnvironment
&'f mut self
goal
&C::UCanonicalGoalInEnvironment