From fa4671500273991967b293dd611e645512608d98 Mon Sep 17 00:00:00 2001 From: Ellen Date: Thu, 5 Aug 2021 03:09:01 +0100 Subject: [PATCH] remove tywf relation --- compiler/rustc_typeck/src/check/dropck.rs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/compiler/rustc_typeck/src/check/dropck.rs b/compiler/rustc_typeck/src/check/dropck.rs index f0b8556b7a8..17f5020300d 100644 --- a/compiler/rustc_typeck/src/check/dropck.rs +++ b/compiler/rustc_typeck/src/check/dropck.rs @@ -217,9 +217,9 @@ fn ensure_drop_predicates_are_implied_by_item_defn<'tcx>( // repeated `.iter().any(..)` calls. // This closure is a more robust way to check `Predicate` equality - // than simple `==` checks (which were the previous implementation). It relies on - // `ty::relate` for `TraitPredicate`, `ProjectionPredicate`, `ConstEvaluatable` - // `TypeOutlives` and `TypeWellFormedFromEnv` (which implement the Relate trait), + // than simple `==` checks (which were the previous implementation). + // It relies on `ty::relate` for `TraitPredicate`, `ProjectionPredicate`, + // `ConstEvaluatable` and `TypeOutlives` (which implement the Relate trait), // while delegating on simple equality for the other `Predicate`. // This implementation solves (Issue #59497) and (Issue #58311). // It is unclear to me at the moment whether the approach based on `relate` @@ -242,10 +242,6 @@ fn ensure_drop_predicates_are_implied_by_item_defn<'tcx>( (ty::PredicateKind::TypeOutlives(a), ty::PredicateKind::TypeOutlives(b)) => { relator.relate(predicate.rebind(a.0), p.rebind(b.0)).is_ok() } - ( - ty::PredicateKind::TypeWellFormedFromEnv(a), - ty::PredicateKind::TypeWellFormedFromEnv(b), - ) => relator.relate(predicate.rebind(a), p.rebind(b)).is_ok(), _ => predicate == p, } };