Trait AnswerStream

Source
pub trait AnswerStream<I: Interner> {
    // Required methods
    fn peek_answer(
        &mut self,
        should_continue: impl Fn() -> bool,
    ) -> AnswerResult<I>;
    fn next_answer(
        &mut self,
        should_continue: impl Fn() -> bool,
    ) -> AnswerResult<I>;
    fn any_future_answer(&self, test: impl Fn(&Substitution<I>) -> bool) -> bool;
}

Required Methods§

Source

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

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.

Source

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

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

Source

fn any_future_answer(&self, test: impl Fn(&Substitution<I>) -> bool) -> bool

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

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§