Module rustc::middle::inferUnstable
[-] [+]
[src]
See the Book for more information.
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; |
pub use self::region_inference::GenericKind; |
Modules
| bivariate | Applies the "bivariance relationship" to two types and/or regions. If (A,B) are bivariant then either A <: B or B <: A. It occurs when type/lifetime parameters are unconstrained. Usually this is an error, but we permit it in the specific case where a type parameter is constrained in a where-clause via an associated type. |
| combine | |
| equate | |
| error_reporting | Error Reporting Code for the inference engine |
| glb | |
| lattice |
Lattice Variables |
| lub | |
| region_inference | See README.md |
| 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 |
| TypeOrigin | Why did we require that the two types be related? |
| ValuePairs | See |
| fixup_err |
Functions
| can_mk_eqty | |
| can_mk_subty | |
| common_supertype | Computes the least upper-bound of |
| fixup_err_to_string | |
| mk_eqty | |
| mk_sub_poly_trait_refs | |
| mk_subr | |
| mk_subty | |
| new_infer_ctxt |
Type Definitions
| Bound | |
| SkolemizationMap | A map returned by |
| UnitResult | |
| fres |