pub enum ExecMemContents<T> {
Uninit,
Init(T),
}Expand description
MemContents<T> is compiled to ExecMemContents<T>
Variants§
Implementations§
Source§impl<T> ExecMemContents<T>
impl<T> ExecMemContents<T>
pub fn arrow_0(self) -> T
pub fn arrow_Init_0(self) -> T
Source§impl<T: DeepView> ExecMemContents<T>
impl<T: DeepView> ExecMemContents<T>
Sourcepub exec fn exec_is_Init(&self) -> res : bool
pub exec fn exec_is_Init(&self) -> res : bool
ensures
res == self.deep_view() is Init,Sourcepub exec fn exec_is_Uninit(&self) -> res : bool
pub exec fn exec_is_Uninit(&self) -> res : bool
ensures
res == self.deep_view() is Uninit,Sourcepub exec fn exec_arrow_Init_0(&self) -> res : &T
pub exec fn exec_arrow_Init_0(&self) -> res : &T
requires
self.deep_view() is Init,ensuresres.deep_view() == self.deep_view()->Init_0,Sourcepub exec fn exec_arrow_0(&self) -> res : &T
pub exec fn exec_arrow_0(&self) -> res : &T
requires
self.deep_view() is Init,ensuresres.deep_view() == self.deep_view()->0,Trait Implementations§
Source§impl<T: Debug> Debug for ExecMemContents<T>
impl<T: Debug> Debug for ExecMemContents<T>
Source§impl<T: DeepView> DeepView for ExecMemContents<T>
Implementations for shared traits
impl<T: DeepView> DeepView for ExecMemContents<T>
Implementations for shared traits
Source§impl<T: DeepViewClone> DeepViewClone for ExecMemContents<T>
impl<T: DeepViewClone> DeepViewClone for ExecMemContents<T>
Source§exec fn deep_clone(&self) -> Self
exec fn deep_clone(&self) -> Self
impl<T: Eq> Eq for ExecMemContents<T>
Source§impl<'a, T> ExecSpecMemContents<'a> for &'a ExecMemContents<T>where
T: DeepView + DeepViewClone,
Impls for MemContents methods
impl<'a, T> ExecSpecMemContents<'a> for &'a ExecMemContents<T>where
T: DeepView + DeepViewClone,
Impls for MemContents methods
Source§open spec fn is_init_spec(&self) -> bool
open spec fn is_init_spec(&self) -> bool
{ self.deep_view() is Init }Source§exec fn exec_is_init(self) -> res : bool
exec fn exec_is_init(self) -> res : bool
ensures
res == self.deep_view().is_init(),Source§exec fn exec_is_uninit(self) -> res : bool
exec fn exec_is_uninit(self) -> res : bool
ensures
res == self.deep_view().is_uninit(),Source§exec fn exec_value(self) -> res : Self::Elem
exec fn exec_value(self) -> res : Self::Elem
ensures
res.deep_view() == self.deep_view()->0,type Elem = T
Source§impl<T: Hash> Hash for ExecMemContents<T>
impl<T: Hash> Hash for ExecMemContents<T>
Source§impl<T: ObeysDeepEq> ObeysDeepEq for ExecMemContents<T>
impl<T: ObeysDeepEq> ObeysDeepEq for ExecMemContents<T>
Source§proof fn lemma_obeys_deep_eq()
proof fn lemma_obeys_deep_eq()
Source§impl<T: PartialEq> PartialEq for ExecMemContents<T>
impl<T: PartialEq> PartialEq for ExecMemContents<T>
Source§impl<T: ObeysDeepEq> PartialEqSpecImpl for ExecMemContents<T>
Available on verus_keep_ghost only.
impl<T: ObeysDeepEq> PartialEqSpecImpl for ExecMemContents<T>
Available on
verus_keep_ghost only.impl<T: PartialEq> StructuralPartialEq for ExecMemContents<T>
Source§impl<'a, T: DeepView + DeepViewClone> ToOwned<ExecMemContents<T>> for &'a ExecMemContents<T>
impl<'a, T: DeepView + DeepViewClone> ToOwned<ExecMemContents<T>> for &'a ExecMemContents<T>
Source§exec fn get_owned(self) -> ExecMemContents<T>
exec fn get_owned(self) -> ExecMemContents<T>
Source§impl<'a, T: DeepView> ToRef<&'a ExecMemContents<T>> for &'a ExecMemContents<T>
impl<'a, T: DeepView> ToRef<&'a ExecMemContents<T>> for &'a ExecMemContents<T>
Source§exec fn get_ref(self) -> &'a ExecMemContents<T>
exec fn get_ref(self) -> &'a ExecMemContents<T>
Auto Trait Implementations§
impl<T> Freeze for ExecMemContents<T>where
T: Freeze,
impl<T> RefUnwindSafe for ExecMemContents<T>where
T: RefUnwindSafe,
impl<T> Send for ExecMemContents<T>where
T: Send,
impl<T> Sync for ExecMemContents<T>where
T: Sync,
impl<T> Unpin for ExecMemContents<T>where
T: Unpin,
impl<T> UnsafeUnpin for ExecMemContents<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for ExecMemContents<T>where
T: 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
Source§impl<Borrowed, VERUS_SPEC__A> BorrowSpec<Borrowed> for VERUS_SPEC__A
impl<Borrowed, VERUS_SPEC__A> BorrowSpec<Borrowed> for VERUS_SPEC__A
Source§exec fn obeys_borrow_spec() -> bool
exec fn obeys_borrow_spec() -> bool
Source§exec fn borrow_spec(&self) -> &Borrowed
exec fn borrow_spec(&self) -> &Borrowed
Source§impl<T> BorrowSpecImpl<T> for Twhere
T: ?Sized,
impl<T> BorrowSpecImpl<T> for Twhere
T: ?Sized,
Source§open spec fn obeys_borrow_spec() -> bool
open spec fn obeys_borrow_spec() -> bool
{ true }Source§open spec fn borrow_spec(&self) -> &T
open spec fn borrow_spec(&self) -> &T
{ self }Source§impl<T> FromSpecImpl<T> for T
impl<T> FromSpecImpl<T> for T
Source§impl<T, U> IntoSpecImpl<U> for Twhere
U: From<T>,
impl<T, U> IntoSpecImpl<U> for Twhere
U: From<T>,
Source§impl<A, Rhs> PartialEqIs<Rhs> for A
impl<A, Rhs> PartialEqIs<Rhs> for A
Source§impl<Rhs, VERUS_SPEC__A> PartialEqSpec<Rhs> for VERUS_SPEC__A
impl<Rhs, VERUS_SPEC__A> PartialEqSpec<Rhs> for VERUS_SPEC__A
impl<A> SpecEq<&A> for Awhere
A: ?Sized,
impl<A> SpecEq<&mut A> for Awhere
A: ?Sized,
impl<A> SpecEq<A> for Awhere
A: ?Sized,
impl<A> SpecEq<Ghost<A>> for A
impl<A> SpecEq<Tracked<A>> for A
Source§impl<T, VERUS_SPEC__A> TryFromSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: TryFrom<T>,
impl<T, VERUS_SPEC__A> TryFromSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: TryFrom<T>,
Source§exec fn obeys_try_from_spec() -> bool
exec fn obeys_try_from_spec() -> bool
Source§impl<T, VERUS_SPEC__A> TryIntoSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: TryInto<T>,
impl<T, VERUS_SPEC__A> TryIntoSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: TryInto<T>,
Source§exec fn obeys_try_into_spec() -> bool
exec fn obeys_try_into_spec() -> bool
Source§impl<T, U> TryIntoSpecImpl<U> for Twhere
U: TryFrom<T>,
impl<T, U> TryIntoSpecImpl<U> for Twhere
U: TryFrom<T>,
Source§open spec fn obeys_try_into_spec() -> bool
open spec fn obeys_try_into_spec() -> bool
{ <U as TryFromSpec<Self>>::obeys_try_from_spec() }