fn assumed_type_outlives<'tcx>(
tcx: TyCtxt<'tcx>,
known_type_outlives: &[PolyTypeOutlivesClause<'tcx>],
region_bound_pairs: &RegionBoundPairs<'tcx>,
) -> Vec<Clause<'tcx>>Expand description
The type outlives assumptions available in the root context, as clauses for
region_constraint::Assumptions::new to elaborate.
known_type_outlives only contains the explicit Ty: 'a where clauses. The implied bounds,
e.g. T: 'a from a &'a T argument, are only tracked in region_bound_pairs so we have to
pull them in separately. Without them we’d fail to prove T: 'a for a &'a T argument
whenever the only explicit bound on T mentions a different region.