fn assemble_candidates_from_trait_def<'cx, 'tcx>(
selcx: &mut SelectionContext<'cx, 'tcx>,
obligation: &Obligation<'tcx, AliasTy<'tcx>>,
candidate_set: &mut ProjectionCandidateSet<'tcx>
)
Expand description
In the case of a nested projection like <<A as Foo>::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
.