[−][src]Function rustc_trait_selection::traits::project::assemble_candidates_from_trait_def
pub(in traits::project) fn assemble_candidates_from_trait_def<'cx, 'tcx>(
selcx: &mut SelectionContext<'cx, 'tcx>,
obligation: &Obligation<'tcx, ProjectionTy<'tcx>>,
obligation_trait_ref: &TraitRef<'tcx>,
candidate_set: &mut ProjectionTyCandidateSet<'tcx>
)
In the case of a nested projection like <::FooT as Bar>::BarT, we may find
that the definition of Foo has some clues:
trait Foo { type FooT : Bar<BarT=i32> }
Here, for example, we could conclude that the result is i32.