flowistry_pdg::rustc::mir

Struct VarDebugInfo

Source
pub struct VarDebugInfo<'tcx> {
    pub name: Symbol,
    pub source_info: SourceInfo,
    pub composite: Option<Box<VarDebugInfoFragment<'tcx>>>,
    pub value: VarDebugInfoContents<'tcx>,
    pub argument_index: Option<u16>,
}
Expand description

Debug information pertaining to a user variable.

Fields§

§name: Symbol§source_info: SourceInfo

Source info of the user variable, including the scope within which the variable is visible (to debuginfo) (see LocalDecl’s source_info field for more details).

§composite: Option<Box<VarDebugInfoFragment<'tcx>>>

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.

§value: VarDebugInfoContents<'tcx>

Where the data for this user variable is to be found.

§argument_index: Option<u16>

When present, indicates what argument number this variable is in the function that it originated from (starting from 1). Note, if MIR inlining is enabled, then this is the argument number in the original function before it was inlined.

Auto Trait Implementations§

§

impl<'tcx> Freeze for VarDebugInfo<'tcx>

§

impl<'tcx> !RefUnwindSafe for VarDebugInfo<'tcx>

§

impl<'tcx> Send for VarDebugInfo<'tcx>

§

impl<'tcx> Sync for VarDebugInfo<'tcx>

§

impl<'tcx> Unpin for VarDebugInfo<'tcx>

§

impl<'tcx> !UnwindSafe for VarDebugInfo<'tcx>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.