pub struct FrameExtra<'tcx> {
pub borrow_tracker: Option<FrameState>,
pub catch_unwind: Option<CatchUnwindData<'tcx>>,
pub timing: Option<DetachedTiming>,
pub user_relevance: u8,
pub data_race: Option<FrameState>,
}Expand description
Extra data stored with each stack frame
Fields§
§borrow_tracker: Option<FrameState>Extra data for the Borrow Tracker.
catch_unwind: Option<CatchUnwindData<'tcx>>If this is Some(), then this is a special “catch unwind” frame (the frame of try_fn
called by try). When this frame is popped during unwinding a panic,
we stop unwinding, use the CatchUnwindData to handle catching.
timing: Option<DetachedTiming>If measureme profiling is enabled, holds timing information
for the start of this frame. When we finish executing this frame,
we use this to register a completed event with measureme.
user_relevance: u8Indicates how user-relevant this frame is. #[track_caller] frames are never relevant.
Frames from user-relevant crates are maximally relevant; frames from other crates are less
relevant.
data_race: Option<FrameState>Data race detector per-frame data.
Trait Implementations§
Source§impl<'tcx> Debug for FrameExtra<'tcx>
impl<'tcx> Debug for FrameExtra<'tcx>
Source§impl VisitProvenance for FrameExtra<'_>
impl VisitProvenance for FrameExtra<'_>
fn visit_provenance(&self, visit: &mut VisitWith<'_>)
Auto Trait Implementations§
impl<'tcx> !Freeze for FrameExtra<'tcx>
impl<'tcx> !RefUnwindSafe for FrameExtra<'tcx>
impl<'tcx> Send for FrameExtra<'tcx>
impl<'tcx> !Sync for FrameExtra<'tcx>
impl<'tcx> Unpin for FrameExtra<'tcx>
impl<'tcx> !UnwindSafe for FrameExtra<'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
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: 352 bytes