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

🔬 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?

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.

(In theory the analysis could be extended to work with sets of paths, so that a[0] and a[13] could be kept distinct, while a[x] would still overlap them both. But that is not this representation does today.)

Structs

AbstractOperand [
Experimental
]
AbstractType [
Experimental
]

Traits

Lift [
Experimental
]

Type Definitions

AbstractElem [
Experimental
]