Skip to main content

Module move_paths

Module move_paths 

Source
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
Init represents a point in a program that initializes some L-value. The dual of MoveOut.
InitIndex
Index identifying an Init.
LocationMap
MoveData
MoveOut
MoveOut represents a point in a program that moves out of some L-value; i.e., β€œcreates” uninitialized memory. The dual of Init.
MoveOutIndex
Index identifying a MoveOut.
MovePath
MovePath is a canonicalized representation of a place that is of interest to dataflow analysis, as identified by gather_moves. This is primarily places that are moved or inited (assigned). Each MovePath is assigned a MovePathIndex by which it can be referred to.
MovePathIndex
Index identifying a MovePath.
MovePathLinearIter πŸ”’
MovePathLookup
Tables mapping from a place to its MovePathIndex.

EnumsΒ§

InitKind
Additional information about the initialization.
InitLocation
Initializations can be from an argument or from a statement. Arguments do not have locations, in those cases the Local is kept.
LookupResult
MoveSubPath πŸ”’
A projection into a move path producing a child path
MoveSubPathResult πŸ”’

TraitsΒ§

HasMoveData