pub struct PointsToData<T> {
pub ptr: *mut T,
pub opt_value: MemContents<T>,
}
Expand description
Data associated with a PointsTo
permission.
We keep track of both the pointer and the (potentially uninitialized) value
it points to.
If opt_value
is Init(T)
, this signifies that ptr
points to initialized memory,
and the value of opt_value
is consistent with the bytes ptr
points to,
We also have all the ghost state associated with type T
.
If opt_value
is Uninit
, then we have no knowledge about what’s in memory,
and we assume ptr
points to uninitialized memory.
(To be pedantic, the bytes might be initialized in Rust’s abstract machine,
Fields§
§ptr: *mut T
§opt_value: MemContents<T>
Auto Trait Implementations§
impl<T> Freeze for PointsToData<T>where
T: Freeze,
impl<T> RefUnwindSafe for PointsToData<T>where
T: RefUnwindSafe,
impl<T> !Send for PointsToData<T>
impl<T> !Sync for PointsToData<T>
impl<T> Unpin for PointsToData<T>where
T: Unpin,
impl<T> UnwindSafe for PointsToData<T>where
T: RefUnwindSafe + 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