Struct rustc_mir::transform::simplify_try::ArmIdentityInfo [−][src]
struct ArmIdentityInfo<'tcx> {Show fields
local_temp_0: Local,
local_1: Local,
vf_s0: VarField<'tcx>,
get_variant_field_stmt: usize,
field_tmp_assignments: Vec<(Local, Local)>,
local_tmp_s1: Local,
local_0: Local,
vf_s1: VarField<'tcx>,
set_discr_local: Local,
set_discr_var_idx: VariantIdx,
stmt_to_overwrite: usize,
source_info: SourceInfo,
storage_stmts: Vec<(usize, usize, Local)>,
stmts_to_remove: Vec<usize>,
dbg_info_to_adjust: Vec<usize>,
dbg_projection: &'tcx List<PlaceElem<'tcx>>,
}Fields
local_temp_0: LocalExpand description
Storage location for the variant’s field
local_1: LocalExpand description
Storage location holding the variant being read from
vf_s0: VarField<'tcx>Expand description
The variant field being read from
get_variant_field_stmt: usizeExpand description
Index of the statement which loads the variant being read
field_tmp_assignments: Vec<(Local, Local)>Expand description
Tracks each assignment to a temporary of the variant’s field
local_tmp_s1: LocalExpand description
Storage location holding the variant’s field that was read from
local_0: LocalExpand description
Storage location holding the enum that we are writing to
vf_s1: VarField<'tcx>Expand description
The variant field being written to
set_discr_local: LocalExpand description
Storage location that the discriminant is being written to
set_discr_var_idx: VariantIdxExpand description
The variant being written
stmt_to_overwrite: usizeExpand description
Index of the statement that should be overwritten as a move
source_info: SourceInfoExpand description
SourceInfo for the new move
storage_stmts: Vec<(usize, usize, Local)>Expand description
Indices of matching Storage{Live,Dead} statements encountered. (StorageLive index,, StorageDead index, Local)
stmts_to_remove: Vec<usize>Expand description
The statements that should be removed (turned into nops)
dbg_info_to_adjust: Vec<usize>Expand description
Indices of debug variables that need to be adjusted to point to
dbg_projection: &'tcx List<PlaceElem<'tcx>>Expand description
The projection used to rewrite debug info.
Trait Implementations
Auto Trait Implementations
impl<'tcx> !RefUnwindSafe for ArmIdentityInfo<'tcx>
impl<'tcx> !Send for ArmIdentityInfo<'tcx>
impl<'tcx> !Sync for ArmIdentityInfo<'tcx>
impl<'tcx> Unpin for ArmIdentityInfo<'tcx>
impl<'tcx> !UnwindSafe for ArmIdentityInfo<'tcx>
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> WithConstness for T[src]
impl<T> WithConstness for T[src]