[][src]Module rustc_mir::dataflow::move_paths

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Re-exports

pub use self::indexes::MovePathIndex;
pub use self::indexes::MoveOutIndex;
pub use self::indexes::InitIndex;

Modules

abs_domain [
Experimental
]

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], et cetera.

builder [
Experimental
]
indexes [
Experimental
]

Structs

IllegalMoveOrigin [
Experimental
]
Init [
Experimental
]

Init represents a point in a program that initializes some L-value;

LocationMap [
Experimental
]
MoveData [
Experimental
]
MoveOut [
Experimental
]

MoveOut represents a point in a program that moves out of some L-value; i.e., "creates" uninitialized memory.

MovePath [
Experimental
]

MovePath is a canonicalized representation of a path that is moved or assigned to.

MovePathLookup [
Experimental
]

Tables mapping from a place to its MovePathIndex.

Enums

IllegalMoveOriginKind [
Experimental
]
InitKind [
Experimental
]

Additional information about the initialization.

InitLocation [
Experimental
]

Initializations can be from an argument or from a statement. Arguments do not have locations, in those cases the Local is kept..

LookupResult [
Experimental
]
MoveError [
Experimental
]

Traits

HasMoveData [
Experimental
]