fn compute_bidirectional_outlives_predicates<'tcx>(
    tcx: TyCtxt<'tcx>,
    item_def_id: LocalDefId,
    lifetime_mapping: impl Iterator<Item = (Lifetime, (LocalDefId, Symbol, Span))>,
    generics: &Generics,
    predicates: &mut Vec<(Clause<'tcx>, Span)>
)
Expand description

Opaques have duplicated lifetimes and we need to compute bidirectional outlives predicates to enforce that these lifetimes stay in sync.