pub struct VHeap<S: IShape> { /* private fields */ }Expand description
Verified heap that tracks state for Kani proofs.
This heap doesn’t do any real memory operations - it just tracks the abstract state of allocations and asserts that all transitions are valid.
Implementations§
Trait Implementations§
Source§impl<S: IShape> IHeap<S> for VHeap<S>
impl<S: IShape> IHeap<S> for VHeap<S>
Source§unsafe fn alloc(&mut self, shape: S) -> VPtr
unsafe fn alloc(&mut self, shape: S) -> VPtr
Allocate a region for a value of the given shape. Read more
Source§unsafe fn drop_in_place(&mut self, ptr: VPtr, shape: S)
unsafe fn drop_in_place(&mut self, ptr: VPtr, shape: S)
Drop the value at
ptr and mark the range as uninitialized. Read moreAuto Trait Implementations§
impl<S> Freeze for VHeap<S>where
S: Freeze,
impl<S> RefUnwindSafe for VHeap<S>where
S: RefUnwindSafe,
impl<S> Send for VHeap<S>where
S: Send,
impl<S> Sync for VHeap<S>where
S: Sync,
impl<S> Unpin for VHeap<S>where
S: Unpin,
impl<S> UnsafeUnpin for VHeap<S>where
S: UnsafeUnpin,
impl<S> UnwindSafe for VHeap<S>where
S: 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