Module rustc::middle::typeck[src]
Modules
| astconv | Conversion from AST representation of types to the ty.rs
representation. The main routine here is |
| check | |
| coherence | |
| collect | |
| infer | See doc.rs for documentation |
| rscope | |
| variance | This file infers the variance of type and lifetime parameters. The algorithm is taken from Section 4 of the paper "Taming the Wildcards: Combining Definition- and Use-Site Variance" published in PLDI'11 and written by Altidor et al., and hereafter referred to as The Paper. |
Structs
| CrateCtxt | |
| MethodCall | With method calls, we store some extra information in side tables (i.e method_map, vtable_map). We use MethodCall as a key to index into these tables instead of just directly using the expression's NodeId. The reason for this being that we may apply adjustments (coercions) with the resulting expression also needing to use the side tables. The problem with this is that we don't assign a separate NodeId to this new expression and so it would clash with the base expression if both needed to add to the side tables. Thus to disambiguate we also keep track of whether there's an adjustment in our key. |
| MethodCallee | |
| MethodObject | |
| MethodParam | |
| TypeAndSubsts | |
| param_index |
Enums
| ExprAdjustment | |
| MethodOrigin | |
| vtable_origin |
Functions
| check_crate | |
| lookup_def_ccx | |
| lookup_def_tcx | |
| no_params | |
| require_same_types | |
| write_substs_to_tcx | |
| write_ty_to_tcx |
Type Definitions
| MethodMap | |
| impl_vtable_map | |
| vtable_map | |
| vtable_param_res | |
| vtable_res |