pub trait Solver:
Default
+ Sync
+ Sized {
// Required methods
fn name() -> &'static str;
fn solve_impl<F: Formula>(
&self,
formula: &F,
) -> Result<Option<Assignment>, SolverError>;
// Provided method
fn solve<F: Formula>(
&self,
formula: &F,
) -> Result<Option<Assignment>, SolverError> { ... }
}Required Methods§
fn name() -> &'static str
fn solve_impl<F: Formula>( &self, formula: &F, ) -> Result<Option<Assignment>, SolverError>
Provided Methods§
fn solve<F: Formula>( &self, formula: &F, ) -> Result<Option<Assignment>, SolverError>
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.