Struct miri::AllocExtra
source · pub struct AllocExtra<'tcx> {
pub borrow_tracker: Option<AllocState>,
pub data_race: Option<VClockAlloc>,
pub weak_memory: Option<StoreBufferAlloc>,
pub backtrace: Option<Vec<FrameInfo<'tcx>>>,
}
Expand description
Extra per-allocation data
Fields§
§borrow_tracker: Option<AllocState>
Global state of the borrow tracker, if enabled.
data_race: Option<VClockAlloc>
Data race detection via the use of a vector-clock. This is only added if it is enabled.
weak_memory: Option<StoreBufferAlloc>
Weak memory emulation via the use of store buffers. This is only added if it is enabled.
backtrace: Option<Vec<FrameInfo<'tcx>>>
A backtrace to where this allocation was allocated. As this is recorded for leak reports, it only exists if this allocation is leakable. The backtrace is not pruned yet; that should be done before printing it.
Implementations§
source§impl AllocExtra<'_>
impl AllocExtra<'_>
pub fn borrow_tracker_sb(&self) -> &RefCell<Stacks>
pub fn borrow_tracker_sb_mut(&mut self) -> &mut RefCell<Stacks>
pub fn borrow_tracker_tb(&self) -> &RefCell<Tree>
Trait Implementations§
source§impl<'tcx> Clone for AllocExtra<'tcx>
impl<'tcx> Clone for AllocExtra<'tcx>
source§fn clone(&self) -> AllocExtra<'tcx>
fn clone(&self) -> AllocExtra<'tcx>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<'tcx> Debug for AllocExtra<'tcx>
impl<'tcx> Debug for AllocExtra<'tcx>
source§impl VisitProvenance for AllocExtra<'_>
impl VisitProvenance for AllocExtra<'_>
fn visit_provenance(&self, visit: &mut VisitWith<'_>)
Auto Trait Implementations§
impl<'tcx> !Freeze for AllocExtra<'tcx>
impl<'tcx> !RefUnwindSafe for AllocExtra<'tcx>
impl<'tcx> !Send for AllocExtra<'tcx>
impl<'tcx> !Sync for AllocExtra<'tcx>
impl<'tcx> Unpin for AllocExtra<'tcx>
impl<'tcx> !UnwindSafe for AllocExtra<'tcx>
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 120 bytes