Solver

Trait Solver 

Source
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§

Source

fn name() -> &'static str

Source

fn solve_impl<F: Formula>( &self, formula: &F, ) -> Result<Option<Assignment>, SolverError>

Provided Methods§

Source

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.

Implementors§