Enum paralegal_spdg::rustc::mir::VarDebugInfoContents
source · pub enum VarDebugInfoContents<'tcx> {
Place(Place<'tcx>),
Const(Constant<'tcx>),
Composite {
ty: Ty<'tcx>,
fragments: Vec<VarDebugInfoFragment<'tcx>, Global>,
},
}
Variants§
Place(Place<'tcx>)
This Place
only contains projection which satisfy can_use_in_debuginfo
.
Const(Constant<'tcx>)
Composite
Fields
§
fragments: Vec<VarDebugInfoFragment<'tcx>, Global>
All the parts of the original user variable, which ended up in disjoint places, due to optimizations.
The user variable’s data is split across several fragments,
each described by a VarDebugInfoFragment
.
See DWARF 5’s “2.6.1.2 Composite Location Descriptions”
and LLVM’s DW_OP_LLVM_fragment
for more details on
the underlying debuginfo feature this relies on.
Auto Trait Implementations§
impl<'tcx> !RefUnwindSafe for VarDebugInfoContents<'tcx>
impl<'tcx> !Send for VarDebugInfoContents<'tcx>
impl<'tcx> !Sync for VarDebugInfoContents<'tcx>
impl<'tcx> Unpin for VarDebugInfoContents<'tcx>
impl<'tcx> !UnwindSafe for VarDebugInfoContents<'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