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

Re-exports

use borrow_check::location::LocationTable;
use borrow_check::nll::facts::AllFacts;
use rustc::infer::region_constraints::Constraint;
use rustc::infer::region_constraints::RegionConstraintData;
use rustc::infer::region_constraints::Verify;
use rustc::infer::region_constraints::VerifyBound;
use rustc::mir::Location;
use rustc::mir::Mir;
use rustc::ty;
use std::iter;
use syntax::codemap::Span;
use super::region_infer::RegionInferenceContext;
use super::region_infer::RegionTest;
use super::region_infer::TypeTest;
use super::type_check::Locations;
use super::type_check::MirTypeckRegionConstraints;
use super::type_check::OutlivesSet;

Structs

SubtypeConstraintGenerator [
Experimental
]

Functions

generate [
Experimental
]

When the MIR type-checker executes, it validates all the types in the MIR, and in the process generates a set of constraints that must hold regarding the regions in the MIR, along with locations where they must hold. This code takes those constriants and adds them into the NLL RegionInferenceContext.