pub struct Config {
pub logic: Option<Identifier<'static>>,
pub produce_models: bool,
}Expand description
Configuration for SMT solvers.
This is a simple struct holding some parameters used to instantiate SMT solvers. Config instances are usually constructed from the default one by changing the desired parameters and then passed to Solver::new() and related constructors. Fields are public and can be set arbitrarily but a builder method for each parameter is also provided, for convenience.
Example:
let config =
Config::default()
.logic("LIA")
.produce_models(true);
let solver = Solver::new(&config)?;
// ...Fields§
§logic: Option<Identifier<'static>>The name of the logic to instantiate the solver for.
A None value is the default, which means a logic is not selected and the solver will
accept symbols from all the known theories, as if “ALL” had been specified (such as
with the (set-logic ALL) command in SMT-LIBv2).
Note that the "ALL" string itself has no special meaning, but is looked up as any other
logic name (and probably not found).
produce_models: boolWhether the solver has to activate the machinery for generating models for satisfiable instances.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnsafeUnpin for Config
impl UnwindSafe for Config
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
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> ⓘ
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> ⓘ
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