pub struct CvlrInvarSpec<A, B>(/* private fields */);Expand description
A specification for invariants that must hold before and after operations.
This type represents a specification where:
- An assumption (additional precondition) is assumed before the operation
- An invariant must hold both before and after the operation
The invariant is assumed in the pre-state and asserted in the post-state.
Implementations§
Source§impl<A, B> CvlrInvarSpec<A, B>
impl<A, B> CvlrInvarSpec<A, B>
Trait Implementations§
Source§impl<A: Clone, B: Clone> Clone for CvlrInvarSpec<A, B>
impl<A: Clone, B: Clone> Clone for CvlrInvarSpec<A, B>
Source§fn clone(&self) -> CvlrInvarSpec<A, B>
fn clone(&self) -> CvlrInvarSpec<A, B>
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<A, B> CvlrSpec for CvlrInvarSpec<A, B>
impl<A, B> CvlrSpec for CvlrInvarSpec<A, B>
type Context = <A as CvlrFormula>::Context
Source§fn assume_requires(&self, pre_state: &Self::Context)
fn assume_requires(&self, pre_state: &Self::Context)
Assumes that the preconditions (requires) hold for the given pre-state. Read more
impl<A: Copy, B: Copy> Copy for CvlrInvarSpec<A, B>
Auto Trait Implementations§
impl<A, B> Freeze for CvlrInvarSpec<A, B>
impl<A, B> RefUnwindSafe for CvlrInvarSpec<A, B>where
A: RefUnwindSafe,
B: RefUnwindSafe,
impl<A, B> Send for CvlrInvarSpec<A, B>
impl<A, B> Sync for CvlrInvarSpec<A, B>
impl<A, B> Unpin for CvlrInvarSpec<A, B>
impl<A, B> UnsafeUnpin for CvlrInvarSpec<A, B>where
A: UnsafeUnpin,
B: UnsafeUnpin,
impl<A, B> UnwindSafe for CvlrInvarSpec<A, B>where
A: UnwindSafe,
B: UnwindSafe,
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