Module rustc::ty::relate [−][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?
Generalized type relating mechanism. A type relation R relates a pair of values (A, B). A and B are usually types or regions but can be other things. Examples of type relations are subtyping, type equality, etc.
Re-exports
use hir::def_id::DefId; |
use middle::const_val::ConstVal; |
use ty::subst::Kind; |
use ty::subst::UnpackedKind; |
use ty::subst::Substs; |
use ty; |
use ty::Ty; |
use ty::TyCtxt; |
use ty::TypeFoldable; |
use ty::error::ExpectedFound; |
use ty::error::TypeError; |
use mir::interpret::GlobalId; |
use mir::interpret::Value; |
use mir::interpret::PrimVal; |
use util::common::ErrorReported; |
use std::rc::Rc; |
use std::iter; |
use rustc_target::spec::abi; |
use hir as ast; |
use rustc_data_structures::accumulate_vec::AccumulateVec; |
Structs
GeneratorWitness |
[ Experimental ]
|
Enums
Cause |
[ Experimental ]
|
Traits
Relate |
[ Experimental ]
|
TypeRelation |
[ Experimental ]
|
Functions
expected_found |
[ Experimental ]
|
expected_found_bool |
[ Experimental ]
|
relate_substs |
[ Experimental ]
|
super_relate_tys |
[ Experimental ] The main "type relation" routine. Note that this does not handle inference artifacts, so you should filter those out before calling it. |
Type Definitions
RelateResult |
[ Experimental ]
|