match obligation.predicate.kind().no_bound_vars() {
None => None,
Some(pred) => match pred {
- ty::PredicateKind::Trait(..)
+ ty::PredicateKind::Clause(ty::Clause::Trait(..))
| ty::PredicateKind::Subtype(..)
| ty::PredicateKind::Coerce(..)
- | ty::PredicateKind::Projection(..)
+ | ty::PredicateKind::Clause(ty::Clause::Projection(..))
| ty::PredicateKind::ClosureKind(..)
| ty::PredicateKind::ObjectSafe(..)
| ty::PredicateKind::ConstEvaluatable(..)
None
}
- ty::PredicateKind::RegionOutlives(ty::OutlivesPredicate(r_a, r_b)) => {
- Some(ty::OutlivesPredicate(r_a.into(), r_b))
- }
+ ty::PredicateKind::Clause(ty::Clause::RegionOutlives(
+ ty::OutlivesPredicate(r_a, r_b),
+ )) => Some(ty::OutlivesPredicate(r_a.into(), r_b)),
- ty::PredicateKind::TypeOutlives(ty::OutlivesPredicate(ty_a, r_b)) => {
- Some(ty::OutlivesPredicate(ty_a.into(), r_b))
- }
+ ty::PredicateKind::Clause(ty::Clause::TypeOutlives(ty::OutlivesPredicate(
+ ty_a,
+ r_b,
+ ))) => Some(ty::OutlivesPredicate(ty_a.into(), r_b)),
},
}
}));