[−][src]Function rustc_typeck::outlives::implicit_infer::check_explicit_predicates
pub fn check_explicit_predicates<'tcx>(
tcx: TyCtxt<'tcx>,
def_id: DefId,
substs: &[GenericArg<'tcx>],
required_predicates: &mut BTreeMap<OutlivesPredicate<GenericArg<'tcx>, Region<'tcx>>, Span>,
explicit_map: &mut ExplicitPredicatesMap<'tcx>,
ignored_self_ty: Option<Ty<'tcx>>
)
We also have to check the explicit predicates declared on the type.
struct Foo<'a, T> { field1: Bar<T> } struct Bar<U> where U: 'static, U: Foo { ... }
Here, we should fetch the explicit predicates, which
will give us U: 'static and U: Foo. The latter we
can ignore, but we will want to process U: 'static,
applying the substitution as above.