rust/tests
bors c018ae5389 Auto merge of #144991 - lcnr:ignore-usages-from-ignored-candidates, r=BoxyUwU
ignore head usages from ignored candidates

Fixes https://github.com/rust-lang/trait-system-refactor-initiative/issues/210. The test now takes 0.8s to compile, which seems good enough to me. We are actually still walking the entire graph here, we're just avoiding unnecessary reruns.

The basic idea is that if we've only accessed a cycle head inside of a candidate which didn't impact the final result of our goal, we don't need to rerun that cycle head even if is the used provisional result differs from the final result.

We also use this information when rebasing goals over their cycle heads. If a goal doesn't actually depend on the result of that cycle head, rebasing always succeeds. However, we still need to make sure we track the fact that we relied on the cycle head at all to avoid query instability.

It is implemented by tracking the number of `HeadUsages` for every head while evaluating goals. We then also track the head usages while evaluating a single candidate, which the search graph returns as `CandidateHeadUsages`. If there is now an always applicable candidate  candidate we know that all other candidates with that source did not matter. We then call `fn ignore_candidate_head_usages` to remove the usages while evaluating this single candidate from the total. If the final `HeadUsages` end up empty, we know that the result of this cycle head did not matter when evaluating its nested goals.
2025-08-15 12:35:09 +00:00
..
assembly-llvm Rollup merge of #144962 - Gelbpunkt:aarch64_be-unknown-none-softfloat, r=davidtwco 2025-08-13 18:43:00 +02:00
auxiliary So many test updates x_x 2025-07-20 10:15:14 -07:00
codegen-llvm Rollup merge of #145120 - maurer:llvm-time, r=nikic 2025-08-15 16:16:37 +10:00
codegen-units Auto merge of #142893 - Mark-Simulacrum:no-const-collect, r=oli-obk 2025-06-27 12:57:05 +00:00
coverage coverage: Remove all unstable support for MC/DC instrumentation 2025-08-06 22:38:52 +10:00
coverage-run-rustdoc
crashes Update uitests 2025-08-14 18:18:42 +02:00
debuginfo Revert "Embed GDB pretty printers in rlibs and dylibs" 2025-08-06 18:00:58 +00:00
incremental Bless incremental tests. 2025-07-13 13:50:01 +00:00
mir-opt Rollup merge of #144883 - scottmcm:remove-unneeded-drop_in_place, r=nnethercote 2025-08-09 13:58:44 +10:00
pretty Update autodiff tests for the new intrinsics impl 2025-08-14 18:33:43 +00:00
run-make Rollup merge of #145275 - StackOverflowExcept1on:fix-wasm32v1-none, r=alexcrichton 2025-08-15 16:16:38 +10:00
rustdoc rustdoc: Allow multiple references to a single footnote 2025-08-14 04:39:31 +00:00
rustdoc-gui Add GUI regression test for tooltips i icons 2025-08-04 19:17:08 +02:00
rustdoc-js Revert "rustdoc search: prefer stable items in search results" 2025-08-14 13:06:05 +02:00
rustdoc-js-std Revert "rustdoc search: prefer stable items in search results" 2025-08-14 13:06:05 +02:00
rustdoc-json rustdoc-json: Move #[macro_export] from Other to it's own variant 2025-07-30 19:57:32 +00:00
rustdoc-ui Update uitests 2025-08-14 18:18:42 +02:00
ui Auto merge of #144991 - lcnr:ignore-usages-from-ignored-candidates, r=BoxyUwU 2025-08-15 12:35:09 +00:00
ui-fulldeps remove P 2025-08-09 15:47:01 +08:00
COMPILER_TESTS.md