From 269383226f8f11e21883590d40270bdd58339477 Mon Sep 17 00:00:00 2001 From: Santiago Pastorino Date: Sat, 22 Jan 2022 21:25:56 -0300 Subject: [PATCH] Rename strict_check to negative_impl_exists --- .../rustc_trait_selection/src/traits/coherence.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/compiler/rustc_trait_selection/src/traits/coherence.rs b/compiler/rustc_trait_selection/src/traits/coherence.rs index abe51b3fe302f..d1a966455f0b2 100644 --- a/compiler/rustc_trait_selection/src/traits/coherence.rs +++ b/compiler/rustc_trait_selection/src/traits/coherence.rs @@ -313,7 +313,9 @@ fn implicit_negative<'cx, 'tcx>( predicate: p, }) .chain(obligations) - .find(|o| loose_check(selcx, o) || tcx.features().negative_impls && strict_check(selcx, o)); + .find(|o| { + loose_check(selcx, o) || tcx.features().negative_impls && negative_impl_exists(selcx, o) + }); // FIXME: the call to `selcx.predicate_may_hold_fatal` above should be ported // to the canonical trait query form, `infcx.predicate_may_hold`, once // the new system supports intercrate mode (which coherence needs). @@ -377,8 +379,10 @@ fn negative_impl<'cx, 'tcx>( } }; - let opt_failing_obligation = - obligations.into_iter().chain(more_obligations).find(|o| strict_check(selcx, o)); + let opt_failing_obligation = obligations + .into_iter() + .chain(more_obligations) + .find(|o| negative_impl_exists(selcx, o)); if let Some(failing_obligation) = opt_failing_obligation { debug!("overlap: obligation unsatisfiable {:?}", failing_obligation); @@ -396,7 +400,7 @@ fn loose_check<'cx, 'tcx>( !selcx.predicate_may_hold_fatal(o) } -fn strict_check<'cx, 'tcx>( +fn negative_impl_exists<'cx, 'tcx>( selcx: &SelectionContext<'cx, 'tcx>, o: &PredicateObligation<'tcx>, ) -> bool {