diff options
| author | bors <bors@rust-lang.org> | 2023-03-03 22:45:58 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-03-03 22:45:58 +0000 |
| commit | 70adb4e5b4c8f8bde4ade0edcb0435ff7bf31281 (patch) | |
| tree | b80e2d5c0f5cd3c5e90d193fde662e1b400fbcdd /compiler/rustc_data_structures | |
| parent | 44cfafe2fafe816395d3acc434663a45d5178c41 (diff) | |
| parent | 7a228ce9a64e20804b60c89b561ef97507425d95 (diff) | |
| download | rust-70adb4e5b4c8f8bde4ade0edcb0435ff7bf31281.tar.gz rust-70adb4e5b4c8f8bde4ade0edcb0435ff7bf31281.zip | |
Auto merge of #108709 - matthiaskrgr:rollup-j2tjbyx, r=matthiaskrgr
Rollup of 8 pull requests Successful merges: - #104549 (add -Zexport-executable-symbols to unstable book) - #108292 (Label opaque type for 'captures lifetime' error message) - #108540 (Add `Atomic*::from_ptr`) - #108634 (Add link to component dashboard) - #108647 (Remove dead pgo.sh file) - #108678 (Use `Option::as_slice` where applicable) - #108681 (Improve comments in `needs_process_obligation`.) - #108688 (Match unmatched backticks in library/) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_data_structures')
| -rw-r--r-- | compiler/rustc_data_structures/src/obligation_forest/mod.rs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/compiler/rustc_data_structures/src/obligation_forest/mod.rs b/compiler/rustc_data_structures/src/obligation_forest/mod.rs index 16f401f2057..91abdaadabd 100644 --- a/compiler/rustc_data_structures/src/obligation_forest/mod.rs +++ b/compiler/rustc_data_structures/src/obligation_forest/mod.rs @@ -426,6 +426,7 @@ impl<O: ForestObligation> ObligationForest<O> { // nodes. Therefore we use a `while` loop. let mut index = 0; while let Some(node) = self.nodes.get_mut(index) { + // This test is extremely hot. if node.state.get() != NodeState::Pending || !processor.needs_process_obligation(&node.obligation) { @@ -439,6 +440,7 @@ impl<O: ForestObligation> ObligationForest<O> { // out of sync with `nodes`. It's not very common, but it does // happen, and code in `compress` has to allow for it. + // This code is much less hot. match processor.process_obligation(&mut node.obligation) { ProcessResult::Unchanged => { // No change in state. |
