Expand description
MovePaths track the initialization state of places and their sub-paths.
Re-exportsΒ§
use std::fmt;πuse std::ops::Index;πuse std::ops::IndexMut;πuse rustc_abi::FieldIdx;πuse rustc_abi::VariantIdx;πuse rustc_data_structures::fx::FxHashMap;πuse rustc_index::IndexSlice;πuse rustc_index::IndexVec;πuse rustc_middle::ty::Ty;πuse rustc_middle::ty::TyCtxt;πuse rustc_span::Span;πuse smallvec::SmallVec;πuse crate::un_derefer::UnDerefer;πuse rustc_middle::mir::*;π
ModulesΒ§
- builder π
StructsΒ§
- Init
Initrepresents a point in a program that initializes some L-value. The dual ofMoveOut.- Init
Index - Index identifying an
Init. - Location
Map - Move
Data - MoveOut
MoveOutrepresents a point in a program that moves out of some L-value; i.e., βcreatesβ uninitialized memory. The dual ofInit.- Move
OutIndex - Index identifying a
MoveOut. - Move
Path MovePathis a canonicalized representation of a place that is of interest to dataflow analysis, as identified bygather_moves. This is primarily places that are moved or inited (assigned). EachMovePathis assigned aMovePathIndexby which it can be referred to.- Move
Path Index - Index identifying a
MovePath. - Move
Path πLinear Iter - Move
Path Lookup - Tables mapping from a place to its
MovePathIndex.
EnumsΒ§
- Init
Kind - Additional information about the initialization.
- Init
Location - Initializations can be from an argument or from a statement. Arguments
do not have locations, in those cases the
Localis kept. - Lookup
Result - Move
SubPath π - A projection into a move path producing a child path
- Move
SubPath πResult