Module rustc_mir::borrow_check::nll::region_infer[][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?

Modules

annotation [
Experimental
]

As part of the NLL unit tests, you can annotate a function with #[rustc_regions], and we will emit information about the region inference context and -- in particular -- the external constraints that this region imposes on others. The methods in this file handle the part about dumping the inference context internal state.

dump_mir [
Experimental
]

As part of generating the regions, if you enable -Zdump-mir=nll, we will generate an annotated copy of the MIR that includes the state of region inference. This code handles emitting the region context internal state.

error_reporting [
Experimental
]
graphviz [
Experimental
]

This module provides linkage between RegionInferenceContext and libgraphviz traits, specialized to attaching borrowck analysis data to rendered labels.

values [
Experimental
]

Structs

RegionDefinition [
Experimental
]
RegionInferenceContext [
Experimental
]
TypeTest [
Experimental
]

A "type test" corresponds to an outlives constraint between a type and a lifetime, like T: 'x or <T as Foo>::Bar: 'x. They are translated from the Verify region constraints in the ordinary inference context.

Enums

Cause [
Experimental
]

NB: The variants in Cause are intentionally ordered. Lower values are preferred when it comes to error messages. Do not reorder willy nilly.

RegionTest [
Experimental
]

A "test" that can be applied to some "subject region" 'x. These are used to describe type constraints. Tests do not presently affect the region values that get inferred for each variable; they only examine the results after inference. This means they can conveniently include disjuction ("a or b must be true").

Traits

ClosureRegionRequirementsExt [
Experimental
]

Existentials

[
Experimental
]