pub struct EpistemicSolverServiceContract {
pub assumption_bindings: Vec<EpistemicSolverAssumptionBinding>,
pub required_capabilities: Vec<EpistemicSolverCapability>,
pub required_statuses: Vec<EpistemicSolverStatusKind>,
}Expand description
Solver-service contract exported from the epistemic semantic plan.
Fields§
§assumption_bindings: Vec<EpistemicSolverAssumptionBinding>Per-literal solver assumptions that must be pushed and retracted.
required_capabilities: Vec<EpistemicSolverCapability>Production solver capabilities required before this plan can count as accepted.
required_statuses: Vec<EpistemicSolverStatusKind>Solver statuses that must remain distinct across the interface.
Implementations§
Source§impl EpistemicSolverServiceContract
impl EpistemicSolverServiceContract
Sourcepub fn production_default(
assumption_bindings: Vec<EpistemicSolverAssumptionBinding>,
) -> Self
pub fn production_default( assumption_bindings: Vec<EpistemicSolverAssumptionBinding>, ) -> Self
Build the v0.9 production solver contract for the provided assumptions.
Sourcepub fn distinct_required_capability_count(&self) -> usize
pub fn distinct_required_capability_count(&self) -> usize
Count distinct required solver capabilities.
Sourcepub fn distinct_required_status_count(&self) -> usize
pub fn distinct_required_status_count(&self) -> usize
Count distinct solver statuses that must cross the semantic boundary.
Trait Implementations§
Source§impl Clone for EpistemicSolverServiceContract
impl Clone for EpistemicSolverServiceContract
Source§fn clone(&self) -> EpistemicSolverServiceContract
fn clone(&self) -> EpistemicSolverServiceContract
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl PartialEq for EpistemicSolverServiceContract
impl PartialEq for EpistemicSolverServiceContract
Source§fn eq(&self, other: &EpistemicSolverServiceContract) -> bool
fn eq(&self, other: &EpistemicSolverServiceContract) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for EpistemicSolverServiceContract
impl StructuralPartialEq for EpistemicSolverServiceContract
Auto Trait Implementations§
impl Freeze for EpistemicSolverServiceContract
impl RefUnwindSafe for EpistemicSolverServiceContract
impl Send for EpistemicSolverServiceContract
impl Sync for EpistemicSolverServiceContract
impl Unpin for EpistemicSolverServiceContract
impl UnsafeUnpin for EpistemicSolverServiceContract
impl UnwindSafe for EpistemicSolverServiceContract
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more