Skip to content

Rollup of 12 pull requests - #144869

Merged
bors merged 30 commits into
rust-lang:masterfrom
samueltardieu:rollup-3ba3m47
Aug 4, 2025
Merged

Rollup of 12 pull requests#144869
bors merged 30 commits into
rust-lang:masterfrom
samueltardieu:rollup-3ba3m47

Conversation

@samueltardieu

@samueltardieusamueltardieu commented Aug 3, 2025

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

BoxyUwUand others added 30 commits June 17, 2025 15:02
Disabling loading of pretty printers in the debugger itself is more
reliable. Before this commit the .gdb_debug_scripts section couldn't be
included in dylibs or rlibs as otherwise there is no way to disable the
section anymore without recompiling the entire standard library.
Conceptually `EarlyBinder` does not contain an `Interner` so it shouldn't tell Rust it does via `PhantomData`.
This is necessary for rust-analyzer as it stores `EarlyBinder`s in query results which require `Sync`, placing restrictions on our interner setup.
compiler & tools dependencies:
Locking 14 packages to latest compatible versions
Updating clap v4.5.41 -> v4.5.42
Updating clap_builder v4.5.41 -> v4.5.42
Updating jsonpath-rust v1.0.3 -> v1.0.4
Updating libredox v0.1.6 -> v0.1.9
Updating object v0.37.1 -> v0.37.2
Updating redox_syscall v0.5.16 -> v0.5.17
Updating redox_users v0.5.0 -> v0.5.2
Updating rustc-demangle v0.1.25 -> v0.1.26
Updating serde_json v1.0.141 -> v1.0.142
Updating wasm-encoder v0.235.0 -> v0.236.0
Updating wasmparser v0.235.0 -> v0.236.0
Updating wast v235.0.0 -> v236.0.0
Updating wat v1.235.0 -> v1.236.0
Updating windows-targets v0.53.2 -> v0.53.3
note: pass `--verbose` to see 36 unchanged dependencies behind latest
library dependencies:
Locking 3 packages to latest compatible versions
Updating object v0.37.1 -> v0.37.2
Updating rustc-demangle v0.1.25 -> v0.1.26
Updating unwinding v0.2.7 -> v0.2.8
note: pass `--verbose` to see 2 unchanged dependencies behind latest
rustbook dependencies:
Locking 6 packages to latest compatible versions
Updating cc v1.2.30 -> v1.2.31
Updating clap v4.5.41 -> v4.5.42
Updating clap_builder v4.5.41 -> v4.5.42
Updating redox_syscall v0.5.16 -> v0.5.17
Updating serde_json v1.0.141 -> v1.0.142
Updating windows-targets v0.53.2 -> v0.53.3
This method now returns a string instead of printing directly to
(possibly-captured) stdout.
This reduces the amount of "hidden" printing in error-reporting code, which
will be helpful when overhauling compiletest's error handling and output
capture.
Misc cleanups of `generic_arg_infer` related HIR logic
r? ````@nnethercote````
…Noratrieb
Implement `hash_map` macro
Implementation of rust-lang#144032
Implements the `hash_map` macro under `std/src/macros.rs`.
…ter_section, r=jieyouxu
Remove the omit_gdb_pretty_printer_section attribute
Disabling loading of pretty printers in the debugger itself is more reliable. Before this commit the .gdb_debug_scripts section couldn't be included in dylibs or rlibs as otherwise there is no way to disable the section anymore without recompiling the entire standard library.
…iler-errors
Multiple bounds checking elision failures
regression test for rust-lang#120433
compiletest: Preliminary cleanup of `ProcRes` printing/unwinding
While experimenting with changes to how compiletest handles output capture, error reporting, and unwinding, I repeatedly ran in to difficulties with this core code for reporting test failures caused by a subprocess.
There should be no change in compiletest output.
r? jieyouxu
…ler-errors
`Interner` arg to `EarlyBinder` does not affect auto traits
Conceptually `EarlyBinder` does not contain an `Interner` so it shouldn't tell Rust it does via `PhantomData`. This is necessary for rust-analyzer as it stores `EarlyBinder`s in query results which require `Sync`, placing restrictions on our interner setup.
r? compiler-errors
…leLapkin
Update E0562 to account for the new impl trait positions
fixesrust-lang#142683
…ler-errors
Return a struct with named fields from `hash_owner_nodes`
While looking through this code for other reasons, I noticed a nice opportunity to return a struct with named fields instead of a tuple. The first patch also introduces an early-return to flatten the rest of `hash_owner_nodes`.
There are further changes that could potentially be made here (renaming things, `Option<Hashes>` instead of optional fields), but I'm not deeply familiar with this code so I didn't want to disturb the calling code too much.
Updated test links in compiler
Updated test links since a bunch of tests got moved around from the top level recently
r? compiler
Use full flag name in strip command for Darwin
Darwin always uses `rust-objcopy` which supports long-form flags
Solaris unchanged due to not having support for `--discard-all` and only `-x`
fixesrust-lang#135038
r? ````@WaffleLapkin```` (since bot will ping you anyway, feel free to reroll)
Weekly `cargo update`
Automation to keep dependencies in `Cargo.lock` current.
r? dep-bumps
The following is the output from `cargo update`:
```txt
compiler & tools dependencies:
Locking 14 packages to latest compatible versions
Updating clap v4.5.41 -> v4.5.42
Updating clap_builder v4.5.41 -> v4.5.42
Updating jsonpath-rust v1.0.3 -> v1.0.4
Updating libredox v0.1.6 -> v0.1.9
Updating object v0.37.1 -> v0.37.2
Updating redox_syscall v0.5.16 -> v0.5.17
Updating redox_users v0.5.0 -> v0.5.2
Updating rustc-demangle v0.1.25 -> v0.1.26
Updating serde_json v1.0.141 -> v1.0.142
Updating wasm-encoder v0.235.0 -> v0.236.0
Updating wasmparser v0.235.0 -> v0.236.0
Updating wast v235.0.0 -> v236.0.0
Updating wat v1.235.0 -> v1.236.0
Updating windows-targets v0.53.2 -> v0.53.3
note: pass `--verbose` to see 36 unchanged dependencies behind latest
library dependencies:
Locking 3 packages to latest compatible versions
Updating object v0.37.1 -> v0.37.2
Updating rustc-demangle v0.1.25 -> v0.1.26
Updating unwinding v0.2.7 -> v0.2.8
note: pass `--verbose` to see 2 unchanged dependencies behind latest
rustbook dependencies:
Locking 6 packages to latest compatible versions
Updating cc v1.2.30 -> v1.2.31
Updating clap v4.5.41 -> v4.5.42
Updating clap_builder v4.5.41 -> v4.5.42
Updating redox_syscall v0.5.16 -> v0.5.17
Updating serde_json v1.0.141 -> v1.0.142
Updating windows-targets v0.53.2 -> v0.53.3
```
…mpiler-errors,scottmcm
Forbid tail calling intrinsics
There is only one intrinsic that can be called on stable, as far as I can find, (`transmute`). And in general tail calling intrinsics doesn't make much sense.
Alternative to rust-lang#144815 (and thus closesrust-lang#144815)
Fixesrust-lang#144806
r? ``@scottmcm``
@rustbotrustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-compiletest Area: The compiletest test runner A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-rustc-dev-guide Area: rustc-dev-guide 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-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Aug 3, 2025
@samueltardieu

Copy link
Copy Markdown
MemberAuthor

@bors r+ p=5 rollup=never

@bors

bors commented Aug 3, 2025

Copy link
Copy Markdown
Collaborator

📌 Commit 018c172 has been approved by samueltardieu

It is now in the queue for this repository.

@borsbors 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 Aug 3, 2025
@samueltardieusamueltardieu mentioned this pull request Aug 3, 2025
@bors

bors commented Aug 3, 2025

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 018c172 with merge 383b9c4...

@bors

bors commented Aug 4, 2025

Copy link
Copy Markdown
Collaborator

☀️ Test successful - checks-actions
Approved by: samueltardieu
Pushing 383b9c4 to master...

@borsbors added the merged-by-bors This PR was explicitly merged by bors. label Aug 4, 2025
@bors
bors merged commit 383b9c4 into rust-lang:masterAug 4, 2025
11 checks passed
@rustbotrustbot added this to the 1.91.0 milestone Aug 4, 2025
@github-actions

Copy link
Copy Markdown
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 f34ba77 (parent) -> 383b9c4 (this PR)

Test differences

Show 23 test diffs

Stage 1

  • [codegen] tests/codegen-llvm/bounds-check-elision-slice-min.rs: [missing] -> pass (J1)
  • [ui] tests/ui/explicit-tail-calls/intrinsics.rs: [missing] -> pass (J1)
  • [ui] tests/ui/feature-gates/feature-gate-omit-gdb-pretty-printer-section.rs: pass -> [missing] (J1)

Stage 2

  • [ui] tests/ui/explicit-tail-calls/intrinsics.rs: [missing] -> pass (J0)
  • [ui] tests/ui/feature-gates/feature-gate-omit-gdb-pretty-printer-section.rs: pass -> [missing] (J0)
  • [codegen] tests/codegen-llvm/bounds-check-elision-slice-min.rs: [missing] -> pass (J2)

Additionally, 17 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 383b9c447b61641e1f1a3850253944a897a60827 --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-x86_64-apple: 9003.2s -> 17812.7s (97.8%)
  2. x86_64-apple-1: 8155.1s -> 6708.1s (-17.7%)
  3. x86_64-apple-2: 4417.6s -> 3675.3s (-16.8%)
  4. dist-android: 2549.3s -> 2949.2s (15.7%)
  5. tidy: 105.1s -> 119.6s (13.8%)
  6. aarch64-apple: 4905.4s -> 4261.5s (-13.1%)
  7. dist-aarch64-apple: 6727.0s -> 5943.9s (-11.6%)
  8. pr-check-1: 1651.2s -> 1475.1s (-10.7%)
  9. pr-check-2: 2691.9s -> 2408.1s (-10.5%)
  10. x86_64-rust-for-linux: 2875.2s -> 2576.4s (-10.4%)
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

📌 Perf builds for each rolled up PR:

PR#MessagePerf Build Sha
#142678Misc cleanups of generic_arg_infer related HIR logic323378114d9460e719d4df941dae56564e19fef8 (link)
#144070Implement hash_map macrofde85c0fb0ed268b06075bcf321f001e14c0857d (link)
#144738Remove the omit_gdb_pretty_printer_section attribute612268666cc131c9e65103baf6675968f0b9ade2 (link)
#144790Multiple bounds checking elision failures32c44cc28f87e9238752a223291fcf6c34de9f26 (link)
#144805compiletest: Preliminary cleanup of ProcRes printing/unwi…b20deb7d0f91d1ee780bde5665563f30c9a21e4a (link)
#144808Interner arg to EarlyBinder does not affect auto traits749d4ebcdbb6e550fe529df69f3f1e86fe1a2012 (link)
#144816Update E0562 to account for the new impl trait positionsf7cbe7c3e9daefd9323ad54b8c0f775815912b2c (link)
#144822Return a struct with named fields from hash_owner_nodes0db5b7ba40faa8e419c3c9e9c4f1cfd232568b70 (link)
#144824Updated test links in compiler8dc8eb6c13366751d4962a15b192c6b0aa15e058 (link)
#144829Use full flag name in strip command for Darwin9f9e9c30978b9c4588f88351f5314b9f6044d861 (link)
#144843Weekly cargo update845efcf19a4f9ebf25089caabee6d83d6cb2c0e4 (link)
#144851Forbid tail calling intrinsicsd38da94d03232559b0e82790a3e353b857a1199b (link)

previous master: f34ba774c7

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

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (383b9c4): comparison URL.

Overall result: ❌✅ regressions and improvements - 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.

meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
0.1%[0.1%, 0.1%]2
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-0.8%[-1.0%, -0.0%]7
All ❌✅ (primary)--0

Max RSS (memory usage)

Results (primary -2.4%, secondary 2.7%)

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

meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
4.0%[2.6%, 5.4%]7
Improvements ✅
(primary)
-2.4%[-2.5%, -2.2%]2
Improvements ✅
(secondary)
-2.0%[-2.5%, -1.6%]2
All ❌✅ (primary)-2.4%[-2.5%, -2.2%]2

Cycles

Results (primary -2.6%, secondary -5.3%)

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

meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-2.6%[-2.7%, -2.4%]2
Improvements ✅
(secondary)
-5.3%[-5.3%, -5.3%]1
All ❌✅ (primary)-2.6%[-2.7%, -2.4%]2

Binary size

Results (primary 0.1%, secondary 0.2%)

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

meanrangecount
Regressions ❌
(primary)
0.1%[0.0%, 0.2%]8
Regressions ❌
(secondary)
0.2%[0.1%, 0.2%]38
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)0.1%[0.0%, 0.2%]8

Bootstrap: 467.629s -> 468.859s (0.26%)
Artifact size: 376.97 MiB -> 376.98 MiB (0.00%)

@rustbotrustbot added the perf-regression Performance regression. label Aug 4, 2025
@panstromek

Copy link
Copy Markdown
Contributor

perf triage:

include-blob regression looks like noise (returning to some baseline state)

@rustbot label: +perf-regression-triaged

@rustbotrustbot added the perf-regression-triaged The performance regression has been triaged. label Aug 4, 2025
@samueltardieu
samueltardieu deleted the rollup-3ba3m47 branch August 4, 2025 14:26
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributesArea: Attributes (`#[…]`, `#![…]`)A-compiletestArea: The compiletest test runnerA-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.A-rustc-dev-guideArea: rustc-dev-guideA-testsuiteArea: The testsuite used to check the correctness of rustcmerged-by-borsThis PR was explicitly merged by bors.perf-regressionPerformance regression.perf-regression-triagedThe performance regression has been triaged.rollupA PR which is a rollupS-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

14 participants

@samueltardieu@bors@rust-timer@panstromek@rustbot@BoxyUwU@lucarlig@bjorn3@stifskere@Veykril@Noratrieb@Zalathar@Kivooeo@WaffleLapkin