Skip to main content

assumed_type_outlives

Function assumed_type_outlives 

Source
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.