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§
Sourcefn peek_answer(&mut self, should_continue: impl Fn() -> bool) -> AnswerResult<I>
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.
Sourcefn next_answer(&mut self, should_continue: impl Fn() -> bool) -> AnswerResult<I>
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.
Sourcefn any_future_answer(&self, test: impl Fn(&Substitution<I>) -> bool) -> bool
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.