@@ -19,9 +19,8 @@ use rustc_middle::query::Providers;
19
19
use rustc_middle:: traits:: solve:: NoSolution ;
20
20
use rustc_middle:: ty:: trait_def:: TraitSpecializationKind ;
21
21
use rustc_middle:: ty:: {
22
- self , AdtKind , GenericArgKind , GenericArgs , GenericParamDefKind , Ty , TyCtxt , TypeFlags ,
23
- TypeFoldable , TypeSuperVisitable , TypeVisitable , TypeVisitableExt , TypeVisitor , TypingMode ,
24
- Upcast ,
22
+ self , AdtKind , GenericArgKind , GenericArgs , GenericParamDefKind , Ty , TyCtxt , TypeFoldable ,
23
+ TypeSuperVisitable , TypeVisitable , TypeVisitableExt , TypeVisitor , TypingMode , Upcast ,
25
24
} ;
26
25
use rustc_middle:: { bug, span_bug} ;
27
26
use rustc_session:: parse:: feature_err;
@@ -2319,7 +2318,7 @@ impl<'tcx> WfCheckingCtxt<'_, 'tcx> {
2319
2318
continue ;
2320
2319
}
2321
2320
// Match the existing behavior.
2322
- if pred. is_global ( ) && !pred. has_type_flags ( TypeFlags :: HAS_BINDER_VARS ) {
2321
+ if pred. is_global ( ) && !pred. kind ( ) . skip_binder ( ) . has_escaping_bound_vars ( ) {
2323
2322
let pred = self . normalize ( span, None , pred) ;
2324
2323
2325
2324
// only use the span of the predicate clause (#90869)
0 commit comments