Function rustc_query_impl::make_query::trait_explicit_predicates_and_bounds[][src]

pub fn trait_explicit_predicates_and_bounds<'tcx>(
    tcx: QueryCtxt<'tcx>,
    key: trait_explicit_predicates_and_bounds<'tcx>
) -> QueryStackFrame
Expand description

Returns everything that looks like a predicate written explicitly by the user on a trait item.

Traits are unusual, because predicates on associated types are converted into bounds on that type for backwards compatibility:

trait X where Self::U: Copy { type U; }

becomes

trait X { type U: Copy; }

explicit_predicates_of and explicit_item_bounds will then take the appropriate subsets of the predicates here.