Skip to content

Rollup of 11 pull requests #143173

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 27 commits into from
Jun 29, 2025
Merged

Rollup of 11 pull requests #143173

merged 27 commits into from
Jun 29, 2025

Conversation

matthiaskrgr
Copy link
Member

@matthiaskrgr matthiaskrgr commented Jun 29, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

HamidrezaSK and others added 27 commits June 19, 2025 09:26
This updates the rustc book to clearly document how conflicting lint configurations are resolved across different sources, including command-line flags, crate-level attributes, in-line attributes, and `--cap-lints`.

It also explains the special behavior of `forbid` and `force_warn`.
To ensure used statics are functioning correctly for proc-macros too.
Co-authored-by: Anne Stijns <anstijns@gmail.com>
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
…c, r=ehuss

Doc: clarify priority of lint level sources

This updates the rustc book to clearly document how conflicting lint configurations are resolved across different sources, including command-line flags, crate-level attributes, in-line attributes, and `--cap-lints`.

It also explains the special behavior of `forbid` and `force_warn`.

Fixes rust-lang#124088
…intra-doc, r=lolbinarycat

Add regression test for rust-lang#137857 to ensure that we generate intra doc links for extern crate items.

Fixes rust-lang#137857.

I checked that linking to extern crates was generating valid links (with the `/index.html` part) and since it's already working, just adding a regression test.

r? `@notriddle`
…youxu

Generate symbols.o for proc-macros too

To ensure used statics are functioning correctly for proc-macros too.
…acrum

Clarify doc comment on unix OpenOptions
explain `ImportData::imported_module`

r? `@petrochenkov`
…tag, r=RalfJung

Improve documentation of `TagEncoding`

This PR is follow-up from the [discussion here](https://rust-lang.zulipchat.com/#narrow/channel/182449-t-compiler.2Fhelp/topic/.E2.9C.94.20VariantId.3DDiscriminant.20when.20tag.20is.20niche.20encoded.3F/with/524384295).

It aims at making the `TagEncoding` documentation less ambiguous and more detailed with references to relevant implementation sides. It especially clears up the ambiguous use of discriminant/variant index, which sparked the discussion referenced above.

PS: While working with layout data, I somehow ended up looking at the docs for `FakeBorrowKind` and noticed that the one example was not in a doc comment. I hope that this is minor enough of a fix for it to be okay in this otherwise unrelated PR.
…r=jdonszelmann

Port `#[link_name]` to the new attribute parsing infrastructure

Ports `link_name` to the new attribute parsing infrastructure for rust-lang#131229 (comment)

r? `@jdonszelmann`
… r=GuillaumeGomez

`librustdoc` house-keeping 🧹

This PR mostly removes a bunch of crate-level attributes that were added at some point, but then later on became unnecessary:
- some `#[feature]` gates
- some `#[allow]`s
- a `#[recursion_limit]`

Then I went ahead and sprinkled some tidy sorting on the remaining attrs, and `Cargo.toml`.

Trying to give my anal retentiveness some peace of mind 😅
…compiler-errors

Remove unused feature gates

After finding some unused feature gates in rust-lang#143155 , I wrote a small script to see if I can find any others.
And I did. Not a lot, but still a small win 😁
Contains a few instances of `iter_from_coroutine` that can be removed due to rust-lang#142801 (I guess).
…, r=compiler-errors

Fix the span of trait bound modifier `[const]`

r? project-const-traits or anyone
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-run-make Area: port run-make Makefiles to rmake.rs A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic labels Jun 29, 2025
@rustbot rustbot added O-unix Operating system: Unix-like S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library 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. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. rollup A PR which is a rollup labels Jun 29, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Jun 29, 2025

📌 Commit a262c00 has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 29, 2025
@bors
Copy link
Collaborator

bors commented Jun 29, 2025

⌛ Testing commit a262c00 with merge 5ca574e...

@bors
Copy link
Collaborator

bors commented Jun 29, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing 5ca574e to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jun 29, 2025
@bors bors merged commit 5ca574e into rust-lang:master Jun 29, 2025
11 checks passed
@rustbot rustbot added this to the 1.90.0 milestone Jun 29, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#142021 Doc: clarify priority of lint level sources adcd17f92d8340bc53ede4e9b7576c1efaceaa70 (link)
#142367 Add regression test for #137857 to ensure that we generate … 434805f2965fa4d259c890d0a43e6f1d8ce4a005 (link)
#142641 Generate symbols.o for proc-macros too 291d09f374f4ac159422c4d96cc642a1eb338f39 (link)
#142889 Clarify doc comment on unix OpenOptions b548d114eb1d33a97b6d4dd2c469990444c62084 (link)
#143063 explain ImportData::imported_module d82e5e6b319839ce4f214db2cafc6c1498f7a1e2 (link)
#143088 Improve documentation of TagEncoding 4806f921ae5a119beeb1e0522814dc46ceab92f2 (link)
#143135 fix typos on some doc comments 740f607069e41ffe6a80ae391b5566065f029a60 (link)
#143138 Port #[link_name] to the new attribute parsing infrastruc… ebfadf2b9383c86d0ce5e3dcc7522ca19f5fbeb1 (link)
#143155 librustdoc house-keeping 🧹 aedaa7f7af513671c7dfb557d162ce57dd0f0743 (link)
#143169 Remove unused feature gates 039a981d6459f4b7ff90374f46a6f729d9536d2c (link)
#143171 Fix the span of trait bound modifier [const] 8dddde42417f73446585ba27a5f4edba75ae0e22 (link)

previous master: dddd7ab962

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

Copy link
Contributor

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 dddd7ab (parent) -> 5ca574e (this PR)

Test differences

Show 71 test diffs

Stage 1

  • [run-make] tests/run-make/used-proc-macro: [missing] -> pass (J0)
  • [rustdoc] tests/rustdoc/intra-doc/deps.rs: [missing] -> pass (J0)

Stage 2

  • [run-make] tests/run-make/used-proc-macro: [missing] -> ignore (ignored when cross-compiling) (J1)
  • [run-make] tests/run-make/used-proc-macro: [missing] -> pass (J2)
  • [run-make] tests/run-make/used-proc-macro: [missing] -> ignore (skipping test as target does not support all of the crate types ["proc-macro"]) (J3)
  • [run-make] tests/run-make/used-proc-macro: [missing] -> ignore (ignored when the operating system is windows (llvm-readobj --all doesn't show local symbols on Windows)) (J4)
  • [rustdoc] tests/rustdoc/intra-doc/deps.rs: [missing] -> pass (J5)
  • [run-make] tests/run-make/used-proc-macro: [missing] -> ignore (ignored when the target environment is musl ((FIXME: can't find -lunwind))) (J6)

Additionally, 63 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 5ca574e85b67cec0a6fc3fddfe398cbe676c9c69 --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. x86_64-apple-1: 6112.5s -> 8427.5s (37.9%)
  2. mingw-check-1: 1539.1s -> 1833.9s (19.2%)
  3. dist-apple-various: 6955.3s -> 5639.8s (-18.9%)
  4. x86_64-rust-for-linux: 2545.2s -> 2978.0s (17.0%)
  5. mingw-check-2: 1827.2s -> 2120.7s (16.1%)
  6. x86_64-apple-2: 4627.2s -> 5362.2s (15.9%)
  7. dist-x86_64-apple: 8626.6s -> 9840.5s (14.1%)
  8. i686-gnu-2: 5412.1s -> 6133.2s (13.3%)
  9. i686-gnu-nopt-1: 7012.4s -> 7891.5s (12.5%)
  10. x86_64-gnu-tools: 3248.4s -> 3628.3s (11.7%)
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
Collaborator

Finished benchmarking commit (5ca574e): comparison URL.

Overall result: ❌ regressions - please read the text below

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
0.5% [0.3%, 0.7%] 2
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.5% [0.3%, 0.7%] 2

Max RSS (memory usage)

Results (primary 1.4%)

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

mean range count
Regressions ❌
(primary)
2.7% [1.6%, 3.7%] 3
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-2.5% [-2.5%, -2.5%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 1.4% [-2.5%, 3.7%] 4

Cycles

Results (secondary -2.4%)

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)
-2.4% [-3.5%, -1.8%] 11
All ❌✅ (primary) - - 0

Binary size

Results (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.0% [0.0%, 0.0%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Bootstrap: 696.482s -> 695.013s (-0.21%)
Artifact size: 371.74 MiB -> 371.77 MiB (0.01%)

@rustbot rustbot added the perf-regression Performance regression. label Jun 29, 2025
@matthiaskrgr
Copy link
Member Author

probably due to #142641 we are doing a little more work now ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) A-run-make Area: port run-make Makefiles to rmake.rs A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic merged-by-bors This PR was explicitly merged by bors. O-unix Operating system: Unix-like perf-regression Performance regression. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library 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. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.
Projects
None yet
Development

Successfully merging this pull request may close these issues.