Skip to content

Rollup of 12 pull requests #144869

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 30 commits into from
Aug 4, 2025
Merged

Rollup of 12 pull requests #144869

merged 30 commits into from
Aug 4, 2025

Conversation

samueltardieu
Copy link
Member

@samueltardieu samueltardieu commented Aug 3, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

BoxyUwU and 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

fixes rust-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`

fixes rust-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 closes rust-lang#144815)
Fixes rust-lang#144806

r? ``@scottmcm``
@rustbot rustbot 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
Member Author

@bors r+ p=5 rollup=never

@bors
Copy link
Collaborator

bors commented Aug 3, 2025

📌 Commit 018c172 has been approved by samueltardieu

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 Aug 3, 2025
@bors
Copy link
Collaborator

bors commented Aug 3, 2025

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

@bors
Copy link
Collaborator

bors commented Aug 4, 2025

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

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Aug 4, 2025
@bors bors merged commit 383b9c4 into rust-lang:master Aug 4, 2025
11 checks passed
@rustbot rustbot added this to the 1.91.0 milestone Aug 4, 2025
Copy link
Contributor

github-actions bot commented Aug 4, 2025

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
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#142678 Misc cleanups of generic_arg_infer related HIR logic 323378114d9460e719d4df941dae56564e19fef8 (link)
#144070 Implement hash_map macro fde85c0fb0ed268b06075bcf321f001e14c0857d (link)
#144738 Remove the omit_gdb_pretty_printer_section attribute 612268666cc131c9e65103baf6675968f0b9ade2 (link)
#144790 Multiple bounds checking elision failures 32c44cc28f87e9238752a223291fcf6c34de9f26 (link)
#144805 compiletest: Preliminary cleanup of ProcRes printing/unwi… b20deb7d0f91d1ee780bde5665563f30c9a21e4a (link)
#144808 Interner arg to EarlyBinder does not affect auto traits 749d4ebcdbb6e550fe529df69f3f1e86fe1a2012 (link)
#144816 Update E0562 to account for the new impl trait positions f7cbe7c3e9daefd9323ad54b8c0f775815912b2c (link)
#144822 Return a struct with named fields from hash_owner_nodes 0db5b7ba40faa8e419c3c9e9c4f1cfd232568b70 (link)
#144824 Updated test links in compiler 8dc8eb6c13366751d4962a15b192c6b0aa15e058 (link)
#144829 Use full flag name in strip command for Darwin 9f9e9c30978b9c4588f88351f5314b9f6044d861 (link)
#144843 Weekly cargo update 845efcf19a4f9ebf25089caabee6d83d6cb2c0e4 (link)
#144851 Forbid tail calling intrinsics d38da94d03232559b0e82790a3e353b857a1199b (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
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.

mean range count
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.

mean range count
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.

mean range count
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.

mean range count
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%)

@rustbot rustbot added the perf-regression Performance regression. label Aug 4, 2025
@panstromek
Copy link
Contributor

perf triage:

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

@rustbot label: +perf-regression-triaged

@rustbot rustbot 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 free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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 merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. 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-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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.