move generics_of call outside of iter

This commit is contained in:
Boxy 2024-05-24 20:15:54 +01:00
parent 796cb8031d
commit ed8e436916

View File

@ -1998,6 +1998,8 @@ impl ExplicitOutlivesRequirements {
) -> Vec<(usize, Span)> { ) -> Vec<(usize, Span)> {
use rustc_middle::middle::resolve_bound_vars::ResolvedArg; use rustc_middle::middle::resolve_bound_vars::ResolvedArg;
let item_generics = tcx.generics_of(item);
bounds bounds
.iter() .iter()
.enumerate() .enumerate()
@ -2009,7 +2011,7 @@ impl ExplicitOutlivesRequirements {
let is_inferred = match tcx.named_bound_var(lifetime.hir_id) { let is_inferred = match tcx.named_bound_var(lifetime.hir_id) {
Some(ResolvedArg::EarlyBound(def_id)) => inferred_outlives Some(ResolvedArg::EarlyBound(def_id)) => inferred_outlives
.iter() .iter()
.any(|r| matches!(**r, ty::ReEarlyParam(ebr) if { tcx.generics_of(item).region_param(ebr, tcx).def_id == def_id })), .any(|r| matches!(**r, ty::ReEarlyParam(ebr) if { item_generics.region_param(ebr, tcx).def_id == def_id })),
_ => false, _ => false,
}; };