From 4a6d9de8285a8e1b830b22bc2e6203304952df69 Mon Sep 17 00:00:00 2001 From: Maybe Waffle Date: Sat, 14 Jan 2023 14:15:40 +0000 Subject: [PATCH] Untouch back perf sensetive code :sweat_smile: --- compiler/rustc_trait_selection/src/traits/fulfill.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/compiler/rustc_trait_selection/src/traits/fulfill.rs b/compiler/rustc_trait_selection/src/traits/fulfill.rs index ea27db7b81f87..76a755ed9e09d 100644 --- a/compiler/rustc_trait_selection/src/traits/fulfill.rs +++ b/compiler/rustc_trait_selection/src/traits/fulfill.rs @@ -208,12 +208,14 @@ impl<'a, 'tcx> ObligationProcessor for FulfillProcessor<'a, 'tcx> { _ => { // This `for` loop was once a call to `all()`, but this lower-level // form was a perf win. See #64545 for details. - for &infer_var in &pending_obligation.stalled_on { - if self.selcx.infcx.ty_or_const_infer_var_changed(infer_var) { - return true; + (|| { + for &infer_var in &pending_obligation.stalled_on { + if self.selcx.infcx.ty_or_const_infer_var_changed(infer_var) { + return true; + } } - } - false + false + })() } } }