Module rustc_mir_dataflow::move_paths
source · Modules
The move-analysis portion of borrowck needs to work in an abstract
domain of lifted
Place
s. Most of the Place
variants fall into a
one-to-one mapping between the concrete and abstract (e.g., a
field-deref on a local variable, x.field
, has the same meaning
in both domains). Indexed projections are the exception: a[x]
needs to be treated as mapping to the same move path as a[y]
as
well as a[13]
, etc.builder 🔒
Structs
Init
represents a point in a program that initializes some L-value;MoveOut
represents a point in a program that moves out of some
L-value; i.e., “creates” uninitialized memory.MovePath
is a canonicalized representation of a path that is
moved or assigned to.Tables mapping from a place to its MovePathIndex.
Enums
Additional information about the initialization.
Initializations can be from an argument or from a statement. Arguments
do not have locations, in those cases the
Local
is kept..