Skip to main content

## assemble_candidates_from_trait_def

# Function assemble_candidates_from_trait_def

Source

    fn assemble_candidates_from_trait_def<'cx, 'tcx>(
        selcx: &mut SelectionContext<'cx, 'tcx>,
        obligation: &ProjectionTermObligation<'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`.