diff options
| author | Maybe Waffle <waffle.lapkin@gmail.com> | 2023-01-14 14:15:40 +0000 |
|---|---|---|
| committer | Maybe Waffle <waffle.lapkin@gmail.com> | 2023-01-17 07:48:20 +0000 |
| commit | 4a6d9de8285a8e1b830b22bc2e6203304952df69 (patch) | |
| tree | ba2f131f5972943efee815405f852fe258718088 | |
| parent | c21b1f742ec403a24acc39f1c8623e1354da85c7 (diff) | |
| download | rust-4a6d9de8285a8e1b830b22bc2e6203304952df69.tar.gz rust-4a6d9de8285a8e1b830b22bc2e6203304952df69.zip | |
Untouch back perf sensetive code :sweat_smile:
| -rw-r--r-- | compiler/rustc_trait_selection/src/traits/fulfill.rs | 12 |
1 files 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 ea27db7b81f..76a755ed9e0 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 + })() } } } |
