fn transitive_bounds<'tcx>(
    tcx: TyCtxt<'tcx>,
    trait_refs: impl Iterator<Item = PolyTraitRef<'tcx>>,
) -> impl Iterator<Item = PolyTraitRef<'tcx>>Expand description
This is like traits::transitive_bounds_that_define_assoc_item but computes all bounds not just
the ones defining an associated item. We must compute this ourselves to resolve type-relative
associated refinements.
NOTE: traits::transitive_bounds_that_define_assoc_item is defined specifically to avoid cycles
which is not a problem for us. So instead of using explicit_supertraits_containing_assoc_item we
can simply use explicit_super_predicates_of.