@@ -266,20 +266,16 @@ fn gather_explicit_predicates_of(tcx: TyCtxt<'_>, def_id: LocalDefId) -> ty::Gen
266
266
match predicate. kind {
267
267
hir:: WherePredicateKind :: BoundPredicate ( bound_pred) => {
268
268
let ty = icx. lowerer ( ) . lower_ty_maybe_return_type_notation ( bound_pred. bounded_ty ) ;
269
-
270
269
let bound_vars = tcx. late_bound_vars ( predicate. hir_id ) ;
271
- // Keep the type around in a dummy predicate, in case of no bounds.
272
- // That way, `where Ty:` is not a complete noop (see #53696) and `Ty`
273
- // is still checked for WF.
270
+
271
+ // This is a `where Ty:` (sic!).
274
272
if bound_pred. bounds . is_empty ( ) {
275
273
if let ty:: Param ( _) = ty. kind ( ) {
276
- // This is a `where T:`, which can be in the HIR from the
277
- // transformation that moves `?Sized` to `T`'s declaration.
278
- // We can skip the predicate because type parameters are
279
- // trivially WF, but also we *should*, to avoid exposing
280
- // users who never wrote `where Type:,` themselves, to
281
- // compiler/tooling bugs from not handling WF predicates.
274
+ // We can skip the predicate because type parameters are trivially WF.
282
275
} else {
276
+ // Keep the type around in a dummy predicate. That way, it's not a complete
277
+ // noop (see #53696) and `Ty` is still checked for WF.
278
+
283
279
let span = bound_pred. bounded_ty . span ;
284
280
let predicate = ty:: Binder :: bind_with_vars (
285
281
ty:: ClauseKind :: WellFormed ( ty. into ( ) ) ,
0 commit comments