Module rustc::middle::inferExperimental [-]  [+] [src]

See doc.rs for documentation

Reexports

pub use self::LateBoundRegionConversionTime::*;
pub use self::RegionVariableOrigin::*;
pub use self::SubregionOrigin::*;
pub use self::TypeOrigin::*;
pub use self::ValuePairs::*;
pub use self::fixup_err::*;
pub use middle::ty::IntVarValue;

Modules

coercion

Type Coercion

combine
doc

Type inference engine

equate
error_reporting

Error Reporting Code for the inference engine

glb
lattice

Lattice Variables

lub
region_inference

See doc.rs

resolve
sub
type_variable
unify

Structs

CombinedSnapshot
InferCtxt
TypeFreshener
TypeTrace

The trace designates the path through inference that we took to encounter an error or subtyping constraint.

Enums

LateBoundRegionConversionTime

Times when we replace late-bound regions with variables:

RegionVariableOrigin

Reasons to create a region inference variable

SubregionOrigin

The origin of a r1 <= r2 constraint.

TypeOrigin

Why did we require that the two types be related?

ValuePairs

See error_reporting.rs for more details

fixup_err

Functions

can_mk_eqty
can_mk_subty
common_supertype

Computes the least upper-bound of a and b. If this is not possible, reports an error and returns ty::err.

fixup_err_to_string
mk_coercety
mk_eqty
mk_sub_poly_trait_refs
mk_subr
mk_subty
new_infer_ctxt
uok
verify_param_bound

Type Definitions

Bound
CoerceResult
SkolemizationMap

A map returned by skolemize_late_bound_regions() indicating the skolemized region that each late-bound region was replaced with.

cres
fres
ures