pub enum SatisfactionResult<'solver, 'brancher, B>where
B: Brancher,{
Satisfiable(Satisfiable<'solver, 'brancher, B>),
Unsatisfiable(&'solver Solver, &'brancher B),
Unknown(&'solver Solver, &'brancher B),
}Expand description
The result of a call to Solver::satisfy.
Variants§
Satisfiable(Satisfiable<'solver, 'brancher, B>)
Indicates that a solution was found.
The solution can be obtained with Satisfiable::solution, as well as the solver and
brancher. The solver and brancher may be of interest to e.g. log statistics. When the
result is dropped, the solver will be reset to the root, ready for further use.
Unsatisfiable(&'solver Solver, &'brancher B)
Indicates that there is no solution to the satisfaction problem.
Unknown(&'solver Solver, &'brancher B)
Indicates that it is not known whether a solution exists. This is likely due to a
[TerminationCondition] triggering.
Trait Implementations§
Auto Trait Implementations§
impl<'solver, 'brancher, B> Freeze for SatisfactionResult<'solver, 'brancher, B>
impl<'solver, 'brancher, B> !RefUnwindSafe for SatisfactionResult<'solver, 'brancher, B>
impl<'solver, 'brancher, B> !Send for SatisfactionResult<'solver, 'brancher, B>
impl<'solver, 'brancher, B> !Sync for SatisfactionResult<'solver, 'brancher, B>
impl<'solver, 'brancher, B> Unpin for SatisfactionResult<'solver, 'brancher, B>
impl<'solver, 'brancher, B> !UnwindSafe for SatisfactionResult<'solver, 'brancher, B>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more