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.

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..

Traits