[][src]Module rustc_mir::borrow_check::universal_regions

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Code to extract the universally quantified regions declared on a function and the relationships between them. For example:

fn foo<'a, 'b, 'c: 'b>() { }

here we would return a map assigning each of {'a, 'b, 'c} to an index, as well as the FreeRegionMap which can compute relationships between them.

The code in this file doesn't do anything with those results; it just returns them for other code to use.

Structs

UniversalRegionIndicesInternal
UniversalRegionsInternal
UniversalRegionsBuilderInternal

Enums

DefiningTyInternal

The "defining type" for this MIR. The key feature of the "defining type" is that it contains the information needed to derive all the universal regions that are in scope as well as the types of the inputs/output from the MIR. In general, early-bound universal regions appear free in the defining type and late-bound regions appear bound in the signature.

RegionClassificationInternal

Constants

FIRST_GLOBAL_INDEXInternal
FRInternal

Traits

InferCtxtExtInternal

Functions

for_each_late_bound_region_defined_onInternal

Iterates over the late-bound regions defined on fn_def_id and invokes f with the liberated form of each one.