Trait creusot_contracts::resolve::Resolve

source ·
pub trait Resolve {
    // Required methods
    fn resolve(self) -> bool;
    fn resolve_coherence(&self);
}

Required Methods§

source

fn resolve(self) -> bool

logic(prophetic)

source

fn resolve_coherence(&self)

logic(prophetic)

requires

inv(self)

requires

structural_resolve(self)

ensures

(*self).resolve()

Implementations on Foreign Types§

source§

impl<T1, T2: ?Sized> Resolve for (T1, T2)

source§

fn resolve(self) -> bool

logic(prophetic)

resolve(&self.0) && resolve(&self.1)

source§

fn resolve_coherence(&self)

logic(prophetic)

{}

requires

structural_resolve(self)

ensures

(*self).resolve()

source§

impl<T: ?Sized> Resolve for &mut T

source§

fn resolve(self) -> bool

logic(prophetic)

pearlite! { ^self == *self }

source§

fn resolve_coherence(&self)

logic(prophetic)

{}

requires

structural_resolve(self)

ensures

(*self).resolve()

Implementors§

source§

impl<'a, T> Resolve for IterMut<'a, T>

source§

impl<I> Resolve for Cloned<I>

source§

impl<I> Resolve for Copied<I>

source§

impl<I> Resolve for Enumerate<I>

source§

impl<I> Resolve for Skip<I>

source§

impl<I> Resolve for Take<I>

source§

impl<I, B, F> Resolve for MapInv<I, B, F>

source§

impl<I, F> Resolve for Map<I, F>

source§

impl<T> Resolve for Option<T>

source§

impl<T> Resolve for VecDeque<T>

source§

impl<T, A: Allocator> Resolve for Vec<T, A>

source§

impl<T, A: Allocator> Resolve for IntoIter<T, A>

source§

impl<T: ?Sized> Resolve for GhostBox<T>

source§

impl<T: ?Sized> Resolve for Box<T>