fn check_explicit_clauses<'tcx>(
tcx: TyCtxt<'tcx>,
def_id: DefId,
args: &[GenericArg<'tcx>],
required_clauses: &mut FxIndexMap<ArgOutlivesClause<'tcx>, Span>,
explicit_map: &mut ExplicitClausesMap<'tcx>,
ignore_clauses_refing_self: IgnoreClausesReferencingSelf,
)Expand description
Check the explicit clauses declared on the type.
§Example
ⓘ
struct Outer<'a, T> {
field: Inner<T>,
}
struct Inner<U> where U: 'static, U: Outer {
// ...
}Here, we should fetch the explicit clauses, which
will give us U: 'static and U: Outer. The latter we
can ignore, but we will want to process U: 'static,
applying the instantiation as above.