[−][src]Module rustc_trait_selection::traits::project
Code for projecting associated types out of trait references.
Structs
| AssocTypeNormalizer | |
| InProgress | |
| Progress |
Enums
| ProjectedTy | |
| ProjectionTyCandidate | |
| ProjectionTyCandidateSet | |
| ProjectionTyError | When attempting to resolve |
| Reveal | Depending on the stage of compilation, we want projection to be more or less conservative. |
Traits
| ProjectionCacheKeyExt |
Functions
| assemble_candidates_from_impls | |
| assemble_candidates_from_object_ty | In the case of a trait object like
|
| assemble_candidates_from_param_env | The first thing we have to do is scan through the parameter environment to see whether there are any projection predicates there that can answer this question. |
| assemble_candidates_from_predicates | |
| assemble_candidates_from_trait_def | In the case of a nested projection like <::FooT as Bar>::BarT, we may find
that the definition of |
| assoc_ty_def | Locate the definition of an associated type in the specialization hierarchy, starting from the given impl. |
| assoc_ty_own_obligations | |
| confirm_callable_candidate | |
| confirm_candidate | |
| confirm_closure_candidate | |
| confirm_discriminant_kind_candidate | |
| confirm_fn_pointer_candidate | |
| confirm_generator_candidate | |
| confirm_impl_candidate | |
| confirm_param_env_candidate | |
| confirm_select_candidate | |
| normalize | Normalizes any associated type projections in |
| normalize_projection_type | The guts of |
| normalize_to | |
| normalize_to_error | If we are projecting |
| normalize_with_depth | As |
| normalize_with_depth_to | |
| opt_normalize_projection_type | The guts of |
| poly_project_and_unify_type | Evaluates constraints of the form: |
| project_and_unify_type | Evaluates constraints of the form: |
| project_type | Computes the result of a projection type (if we can). |
| prune_cache_value_obligations | If there are unresolved type variables, then we need to include any subobligations that bind them, at least until those type variables are fully resolved. |
Type Definitions
| PolyProjectionObligation | |
| ProjectionObligation | |
| ProjectionTyObligation |