[][src]Trait chalk_engine::context::AnswerStream

pub trait AnswerStream<C: Context> {
    fn peek_answer(
        &mut self,
        should_continue: impl Fn() -> bool
    ) -> AnswerResult<C>;
fn next_answer(
        &mut self,
        should_continue: impl Fn() -> bool
    ) -> AnswerResult<C>;
fn any_future_answer(
        &self,
        test: impl Fn(&C::InferenceNormalizedSubst) -> bool
    ) -> bool; }

Required methods

fn peek_answer(&mut self, should_continue: impl Fn() -> bool) -> AnswerResult<C>

Gets the next answer for a given goal, but doesn't increment the answer index. Calling this or next_answer again will give the same answer.

fn next_answer(&mut self, should_continue: impl Fn() -> bool) -> AnswerResult<C>

Gets the next answer for a given goal, incrementing the answer index. Calling this or peek_answer again will give the next answer.

fn any_future_answer(
    &self,
    test: impl Fn(&C::InferenceNormalizedSubst) -> bool
) -> bool

Invokes test with each possible future answer, returning true immediately if we find any answer for which test returns true.

Loading content...

Implementors

Loading content...