Modules§
- abs_
domain 🔒 - The move-analysis portion of borrowck needs to work in an abstract
domain of lifted
Places. Most of thePlacevariants 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 asa[y]as well asa[13], etc. So we map thesex/yvalues to(). - builder 🔒
Structs§
- Init
Initrepresents a point in a program that initializes some L-value;- Init
Index - Location
Map - Move
Data - MoveOut
MoveOutrepresents a point in a program that moves out of some L-value; i.e., “creates” uninitialized memory.- Move
OutIndex - Move
Path MovePathis a canonicalized representation of a path that is moved or assigned to.- Move
Path Index - 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