pub struct PointsTo<V>(/* private fields */);Expand description
Implementations§
Source§impl<V> PointsTo<V>
impl<V> PointsTo<V>
Sourcepub closed spec fn mem_contents(&self) -> MemContents<V>
pub closed spec fn mem_contents(&self) -> MemContents<V>
The contents of the cell.
Sourcepub open spec fn is_init(&self) -> bool
pub open spec fn is_init(&self) -> bool
{ self.mem_contents().is_init() }Is this cell initialized?
Sourcepub open spec fn is_uninit(&self) -> bool
pub open spec fn is_uninit(&self) -> bool
{ self.mem_contents().is_uninit() }Is this cell uninitialized?
Sourcepub open spec fn value(&self) -> V
pub open spec fn value(&self) -> V
recommends
self.is_init(),{ self.mem_contents().value() }Value of the cell (if initialized)
Sourcepub proof fn is_exclusive(tracked &mut self, tracked other: &PointsTo<V>)
pub proof fn is_exclusive(tracked &mut self, tracked other: &PointsTo<V>)
ensures
*self == *old(self),self.id() != other.id(),Guarantees that two permissions can not be associated with the same CellId.
Auto Trait Implementations§
impl<V> Freeze for PointsTo<V>
impl<V> RefUnwindSafe for PointsTo<V>where
V: RefUnwindSafe,
impl<V> Send for PointsTo<V>where
V: Send,
impl<V> Sync for PointsTo<V>where
V: Sync,
impl<V> Unpin for PointsTo<V>where
V: Unpin,
impl<V> UnsafeUnpin for PointsTo<V>
impl<V> UnwindSafe for PointsTo<V>where
V: 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<T, U> IntoSpecImpl<U> for Twhere
U: From<T>,
impl<T, U> IntoSpecImpl<U> for Twhere
U: From<T>,
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() }