// process predicates and convert to `RequiredPredicates` entry, see below
for &(predicate, span) in predicates.predicates {
- match predicate.kind() {
- ty::PredicateKind::TypeOutlives(predicate) => {
- let OutlivesPredicate(ref ty, ref reg) = predicate.skip_binder();
+ match predicate.skip_binders() {
+ ty::PredicateAtom::TypeOutlives(OutlivesPredicate(ref ty, ref reg)) => {
insert_outlives_predicate(
tcx,
(*ty).into(),
)
}
- ty::PredicateKind::RegionOutlives(predicate) => {
- let OutlivesPredicate(ref reg1, ref reg2) = predicate.skip_binder();
+ ty::PredicateAtom::RegionOutlives(OutlivesPredicate(ref reg1, ref reg2)) => {
insert_outlives_predicate(
tcx,
(*reg1).into(),
)
}
- ty::PredicateKind::Trait(..)
- | ty::PredicateKind::Projection(..)
- | ty::PredicateKind::WellFormed(..)
- | ty::PredicateKind::ObjectSafe(..)
- | ty::PredicateKind::ClosureKind(..)
- | ty::PredicateKind::Subtype(..)
- | ty::PredicateKind::ConstEvaluatable(..)
- | ty::PredicateKind::ConstEquate(..) => (),
+ ty::PredicateAtom::Trait(..)
+ | ty::PredicateAtom::Projection(..)
+ | ty::PredicateAtom::WellFormed(..)
+ | ty::PredicateAtom::ObjectSafe(..)
+ | ty::PredicateAtom::ClosureKind(..)
+ | ty::PredicateAtom::Subtype(..)
+ | ty::PredicateAtom::ConstEvaluatable(..)
+ | ty::PredicateAtom::ConstEquate(..) => (),
}
}