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

This module contains code to equate the input/output types appearing in the MIR with the expected input/output types from the function signature. This requires a bit of processing, as the expected types are supplied to us before normalization and may contain existential impl Trait instances. In contrast, the input/output types found in the MIR (specifically, in the special local variables for the RETURN_PLACE the MIR arguments) are always fully normalize (and contain revealed impl Trait values).

Re-exports

use borrow_check::nll::renumber;
use borrow_check::nll::universal_regions::UniversalRegions;
use rustc::hir::def_id::DefId;
use rustc::infer::InferOk;
use rustc::mir::visit::TyContext;
use rustc::mir::*;
use rustc::traits::ObligationCause;
use rustc::traits::PredicateObligations;
use rustc::ty::subst::Subst;
use rustc::ty::Ty;
use rustc_data_structures::indexed_vec::Idx;
use super::Locations;
use super::TypeChecker;

Structs

ObligationAccumulator [
Experimental
]