# Function rustc_trait_selection::traits::project::poly_project_and_unify_type

source ·

    pub(super) fn poly_project_and_unify_type<'cx, 'tcx>(
        selcx: &mut SelectionContext<'cx, 'tcx>,
        obligation: &PolyProjectionObligation<'tcx>
    ) -> ProjectAndUnifyResult<'tcx>

Expand description

Evaluates constraints of the form:

ⓘ

    for<...> <T as Trait>::U == V

If successful, this may result in additional obligations. Also returns the projection cache key used to track these additional obligations.