Skip to content

Rollup of 6 pull requests#154746

Merged
rust-bors[bot] merged 17 commits intorust-lang:mainfrom
matthiaskrgr:rollup-uWUN35u
Apr 3, 2026
Merged

Rollup of 6 pull requests#154746
rust-bors[bot] merged 17 commits intorust-lang:mainfrom
matthiaskrgr:rollup-uWUN35u

Conversation

@matthiaskrgr
Copy link
Copy Markdown
Member

Successful merges:

Failed merges:

r? @ghost

Create a similar rollup

lolbinarycat and others added 17 commits April 1, 2026 15:17
I previously tried to remove this field because it seemed useless.
`rustc_queries` generates a macro and two modules. One of the modules
looks like this:
```
mod _description_fns {
    ...

    #[allow(unused_variables)]
    pub fn hir_module_items<'tcx>(tcx: TyCtxt<'tcx>, key: LocalModDefId) -> String {
	format!("getting HIR module items in `{}`", tcx.def_path_str(key))
    }

    ...
}
```
Members of this module are then used in `TaggedQueryKey::description`.

This commit removes the `_description_fns` module entirely. For each
query we now instead generate a description closure that is used
instead. This closure is passed in the modifiers list.

This change simplifies `rustc_queries` quite a bit. It requires adding
another query modifier, but query modifiers are how other query-specific
details are already passed to the declarative macros, so it's more
consistent.
This modifier indicates that a query has a custom handler for cycles.
That custom handler must be found at
`rustc_query_impl::handle_cycle_error::$name`.

This eliminates the need for `specialize_query_vtables`, which is the
current hack to install custom handlers. It's more lines of code in
total, but indicating special treatment of a query via a modifier in
`queries.rs` is more consistent with how other aspects of queries are
handled.
…ode_examples-macro_rules, r=GuillaumeGomez

rustdoc_missing_doc_code_examples: lint on macro_rules macros

part of rust-lang#154640

accidentally built this on top of rust-lang#154644, but since that PR is already approved it should be fine if we just wait for it to be merged.

r? @GuillaumeGomez
…2, r=Zalathar

Improve workings of the `desc` query modifier and custom query cycle handlers

This PR does two things involving query modifiers.
- It changes how the `desc` query modifier is handled, eliminating the generated `_description_fns` module.
- It adds a new `handle_cycle_error` query modifier for queries that do custom cycle handling.

Details are in the individual commits.

r? @Zalathar
…ng-crate-noise, r=kivooeo

Stop compiling when we get resolving crate failure

Fixes rust-lang#154096

closes rust-lang#118130
Add a regression test for the duplicated `crate` keyword in path suggestions

The issue has (long) been fixed, but needs a test.

Closes rust-lang#115858.
Enforce `#![warn(unreachable_pub)]` in compiletest source

The actual public API surface of compiletest is restricted to two specific modules, `cli` and `rustdoc_gui_test`.

Other items have no reason to be `pub`.

There should be no change to compiletest behaviour.
@rust-bors rust-bors bot added the rollup A PR which is a rollup label Apr 3, 2026
@rustbot rustbot added A-CI Area: Our Github Actions CI A-compiletest Area: The compiletest test runner A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. labels Apr 3, 2026
@matthiaskrgr
Copy link
Copy Markdown
Member Author

@bors r+ rollup=never p=5

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors bot commented Apr 3, 2026

📌 Commit 1dd0f35 has been approved by matthiaskrgr

It is now in the queue for this repository.

@rust-bors rust-bors bot added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Apr 3, 2026
@rust-bors rust-bors bot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Apr 3, 2026
@rust-bors

This comment has been minimized.

@rust-bors rust-bors bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Apr 3, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors bot commented Apr 3, 2026

☀️ Test successful - CI
Approved by: matthiaskrgr
Duration: 3h 9m 55s
Pushing f908263 to main...

@rust-bors rust-bors bot merged commit f908263 into rust-lang:main Apr 3, 2026
12 checks passed
@rustbot rustbot added this to the 1.96.0 milestone Apr 3, 2026
@rust-timer
Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#154696 rustdoc_missing_doc_code_examples: lint on macro_rules macr… 56e7ace78a7eb2395250635d5f8d00ebd6779d7a (link)
#154698 Improve workings of the desc query modifier and custom qu… 5a44f110aa8c65a6c129c049b6c6f5ae10c07ceb (link)
#154713 Stop compiling when we get resolving crate failure 6b49378e7268566a790afcc7adfaebcbf2a1d299 (link)
#154736 Add a regression test for the duplicated crate keyword in… 8b51d2c02dcc79de1cea003200f6f6ee6608f1aa (link)
#154739 ci: update upload-artifact action to v7 1e6e3d3339c45a31d6ca074a22cf0acea3659158 (link)
#154741 Enforce #![warn(unreachable_pub)] in compiletest source e50c4154c8d7b01a090690a45631963aaf60ab5a (link)

previous master: 5bbdeaa9a8

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 3, 2026

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 5bbdeaa (parent) -> f908263 (this PR)

Test differences

Show 136 test diffs

Stage 1

  • [ui] tests/ui/crate-loading/missing-extern-crate-cascade-issue-154096.rs: [missing] -> pass (J0)
  • [ui] tests/ui/crate-loading/multiple-candidates-cascade-issue-118130.rs: [missing] -> pass (J0)
  • [ui] tests/ui/resolve/path-suggestion-duplicated-crate-keyword.rs: [missing] -> pass (J0)

Stage 2

  • [ui] tests/ui/crate-loading/missing-extern-crate-cascade-issue-154096.rs: [missing] -> pass (J1)
  • [ui] tests/ui/crate-loading/multiple-candidates-cascade-issue-118130.rs: [missing] -> pass (J1)
  • [ui] tests/ui/resolve/path-suggestion-duplicated-crate-keyword.rs: [missing] -> pass (J1)

Additionally, 130 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard f908263775fa86408d0d529dec82baa9ae350529 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. dist-aarch64-llvm-mingw: 1h 54m -> 1h 28m (-23.0%)
  2. dist-x86_64-apple: 2h 31m -> 1h 58m (-21.6%)
  3. dist-aarch64-apple: 1h 38m -> 1h 54m (+17.0%)
  4. aarch64-apple: 3h 18m -> 2h 45m (-16.6%)
  5. dist-apple-various: 1h 45m -> 1h 29m (-15.2%)
  6. dist-i586-gnu-i586-i686-musl: 1h 32m -> 1h 24m (-8.2%)
  7. x86_64-gnu-gcc: 1h 9m -> 1h 15m (+7.9%)
  8. x86_64-gnu-llvm-22-3: 1h 55m -> 1h 47m (-7.1%)
  9. dist-s390x-linux: 1h 22m -> 1h 27m (+5.9%)
  10. dist-x86_64-netbsd: 1h 27m -> 1h 22m (-5.9%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (f908263): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results (primary 2.1%, secondary 0.9%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
2.1% [2.1%, 2.1%] 1
Regressions ❌
(secondary)
5.2% [3.7%, 6.4%] 4
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.5% [-4.8%, -2.0%] 4
All ❌✅ (primary) 2.1% [2.1%, 2.1%] 1

Cycles

Results (secondary -9.8%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-9.8% [-13.6%, -6.0%] 10
All ❌✅ (primary) - - 0

Binary size

Results (primary -0.0%, secondary -0.0%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.0% [-0.0%, -0.0%] 4
Improvements ✅
(secondary)
-0.0% [-0.0%, -0.0%] 1
All ❌✅ (primary) -0.0% [-0.0%, -0.0%] 4

Bootstrap: 485.659s -> 491.353s (1.17%)
Artifact size: 395.05 MiB -> 395.11 MiB (0.01%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: Our Github Actions CI A-compiletest Area: The compiletest test runner A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants