Module move_paths

Source

Modules§

abs_domain 🔒
The move-analysis portion of borrowck needs to work in an abstract domain of lifted Places. 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. So we map these x/y values to ().
builder 🔒

Structs§

Init
Init represents a point in a program that initializes some L-value;
InitIndex
LocationMap
MoveData
MoveOut
MoveOut represents a point in a program that moves out of some L-value; i.e., “creates” uninitialized memory.
MoveOutIndex
MovePath
MovePath is a canonicalized representation of a path that is moved or assigned to.
MovePathIndex
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

Traits§

HasMoveData