@@ -523,7 +523,7 @@ impl<'tcx> Predicate<'tcx> {
523
523
ty:: PredicateKind :: Clause ( ty:: Clause :: Trait ( data) ) => {
524
524
tcx. trait_is_coinductive ( data. def_id ( ) )
525
525
}
526
- ty:: PredicateKind :: WellFormed ( _) => true ,
526
+ ty:: PredicateKind :: Clause ( ty :: Clause :: WellFormed ( _) ) => true ,
527
527
_ => false ,
528
528
}
529
529
}
@@ -536,7 +536,7 @@ impl<'tcx> Predicate<'tcx> {
536
536
#[ inline]
537
537
pub fn allow_normalization ( self ) -> bool {
538
538
match self . kind ( ) . skip_binder ( ) {
539
- PredicateKind :: WellFormed ( _) => false ,
539
+ PredicateKind :: Clause ( Clause :: WellFormed ( _) ) => false ,
540
540
PredicateKind :: Clause ( Clause :: Trait ( _) )
541
541
| PredicateKind :: Clause ( Clause :: RegionOutlives ( _) )
542
542
| PredicateKind :: Clause ( Clause :: TypeOutlives ( _) )
@@ -584,6 +584,9 @@ pub enum Clause<'tcx> {
584
584
/// Ensures that a const generic argument to a parameter `const N: u8`
585
585
/// is of type `u8`.
586
586
ConstArgHasType ( Const < ' tcx > , Ty < ' tcx > ) ,
587
+
588
+ /// No syntax: `T` well-formed.
589
+ WellFormed ( GenericArg < ' tcx > ) ,
587
590
}
588
591
589
592
#[ derive( Clone , Copy , PartialEq , Eq , Hash , TyEncodable , TyDecodable ) ]
@@ -592,9 +595,6 @@ pub enum PredicateKind<'tcx> {
592
595
/// Prove a clause
593
596
Clause ( Clause < ' tcx > ) ,
594
597
595
- /// No syntax: `T` well-formed.
596
- WellFormed ( GenericArg < ' tcx > ) ,
597
-
598
598
/// Trait must be object-safe.
599
599
ObjectSafe ( DefId ) ,
600
600
@@ -1275,7 +1275,7 @@ impl<'tcx> Predicate<'tcx> {
1275
1275
| PredicateKind :: Subtype ( ..)
1276
1276
| PredicateKind :: Coerce ( ..)
1277
1277
| PredicateKind :: Clause ( Clause :: RegionOutlives ( ..) )
1278
- | PredicateKind :: WellFormed ( ..)
1278
+ | PredicateKind :: Clause ( Clause :: WellFormed ( ..) )
1279
1279
| PredicateKind :: ObjectSafe ( ..)
1280
1280
| PredicateKind :: ClosureKind ( ..)
1281
1281
| PredicateKind :: Clause ( Clause :: TypeOutlives ( ..) )
@@ -1296,7 +1296,7 @@ impl<'tcx> Predicate<'tcx> {
1296
1296
| PredicateKind :: Subtype ( ..)
1297
1297
| PredicateKind :: Coerce ( ..)
1298
1298
| PredicateKind :: Clause ( Clause :: RegionOutlives ( ..) )
1299
- | PredicateKind :: WellFormed ( ..)
1299
+ | PredicateKind :: Clause ( Clause :: WellFormed ( ..) )
1300
1300
| PredicateKind :: ObjectSafe ( ..)
1301
1301
| PredicateKind :: ClosureKind ( ..)
1302
1302
| PredicateKind :: Clause ( Clause :: TypeOutlives ( ..) )
@@ -1318,7 +1318,7 @@ impl<'tcx> Predicate<'tcx> {
1318
1318
| PredicateKind :: Subtype ( ..)
1319
1319
| PredicateKind :: Coerce ( ..)
1320
1320
| PredicateKind :: Clause ( Clause :: RegionOutlives ( ..) )
1321
- | PredicateKind :: WellFormed ( ..)
1321
+ | PredicateKind :: Clause ( Clause :: WellFormed ( ..) )
1322
1322
| PredicateKind :: ObjectSafe ( ..)
1323
1323
| PredicateKind :: ClosureKind ( ..)
1324
1324
| PredicateKind :: ConstEvaluatable ( ..)
0 commit comments