Skip to content

Conversation

@matthiaskrgr
Copy link
Member

@matthiaskrgr matthiaskrgr commented Dec 5, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Paladynee and others added 23 commits November 11, 2025 04:33
There is a weak convention in the ecosystem that `IterFoos` is an
iterator yielding items of type `Foo` (e.g. `bitflags` `IterNames`,
`hashbrown` `IterBuckets`), while `FooIter` is an iterator over `Foo`
from an `.iter()` or `.into_iter()` method (e.g. `memchr` `OneIter`,
`regex` `SetMatchesIter`). Rename `IterRange`, `IterRangeInclusive`, and
`IterRangeFrom` to `RangeIter`, `RangeInclusiveIter`, and
`RangeInclusiveIter` to match this.

Tracking issue: RUST-125687 (`new_range_api`)
Tests for `-Zdebuginfo-compression=zstd` need to be skipped if LLVM was built
without support for zstd compression.

Currently, compiletest relies on messy and fragile heuristics to detect whether
the compiler's LLVM was built with zstd support. But the compiler itself
already knows whether LLVM has zstd or not, so it's easier for compiletest to
just ask the compiler.
…r=joboet

alloc: Document panics when allocations will exceed max

Document panics in `String` and `Vec` due to capacity overflowing `isize::MAX`. Correct outdated claims of `usize::MAX` limit.

Fixes rust-lang#148598.

Ping `@lolbinarycat`
…ted, r=joboet

core docs: rewrite `panic::Location::caller` with visual line/column numbers

no tracking issue

hey, this is my first PR on rust-lang/rust, so hopefully everything goes well.

i noticed the documentation for `core::panic::Location::caller` was kind of unintelligible (and maybe even wrong due to standalone_crate) and filled with magic numbers, so i provided line and column numbers as a visual guidance as to how it should be used.

edit: uh oh, looks like i pushed changes from random commits unrelated to me, what's going on?
edit2: reverted the unintended changes by this pr
Improve mutable-binding suggestion to include name

resolve: rust-lang#148467
float::maximum/minimum: make docs more streamlined

This does with `maximum`/`minimum` what rust-lang#149475 did with `max`/`min`: first a self-contained description of the semantics, then comparing with other operations. It also makes the wording consistent with those other functions. Previously we had some of the semantics below the examples for some reason, and we repeated "If one of the arguments is NaN, then NaN is returned"; that has been streamlined as well.

r? `@tgross35`
library: Rename `IterRange*` to `Range*Iter`

There is a weak convention in the ecosystem that `IterFoos` is an iterator yielding items of type `Foo` (e.g. `bitflags` `IterNames`, `hashbrown` `IterBuckets`), while `FooIter` is an iterator over `Foo` from an `.iter()` or `.into_iter()` method (e.g. `memchr` `OneIter`, `regex` `SetMatchesIter`). Rename `IterRange`, `IterRangeInclusive`, and `IterRangeFrom` to `RangeIter`, `RangeInclusiveIter`, and `RangeInclusiveIter` to match this.

Tracking issue: rust-lang#125687 (`new_range_api`)
…ochenkov

Generate delegation error body when delegation is not resolved

This PR relates to the delegation feature rust-lang#118212, it fixes rust-lang#144594 ICE.
r? `@petrochenkov`
Check identifiers defined in macros when suggesting identifiers hidden by hygiene

Fix rust-lang#149604

r? `@JonathanBrouwer` (Since you reviewed the other one related to this)
Add regression test for 141845

close: rust-lang#141845

I saw the `tests/ui/associated-inherent-types` directory, but I felt the current location was a better fit.
…fix, r=cuviper

Fix for LLVM22 making lowering decisions dependent on RuntimeLibraryInfo.

LLVM added codegen decision making based on RuntimeLibraryInfo. Mirror the change in Rust's codegen.

LLVM reference commit:
llvm/llvm-project@04c81a9.
Add perma-unstable `--print=backend-has-zstd` for use by compiletest

Tests for `-Zdebuginfo-compression=zstd` need to be skipped if LLVM was built without support for zstd compression.

Currently, compiletest relies on messy and fragile heuristics to detect whether the compiler's LLVM was built with zstd support. But the compiler itself already knows whether LLVM has zstd or not, so it's easier for compiletest to just ask the compiler.

---

Originally I was intending for this to be a `--print=debuginfo-compression` flag that would print out a list of values supported by `-Zdebuginfo-compression=`. I got that working locally, but it was more complex than I was happy with (in both rustc and compiletest), so I decided to cut scope and instead add a very narrow perma-unstable print request instead.

There is always a circularity hazard whenever we ask the compiler-under-test for information about how to test it. But in this case, the underlying compiler code is fairly simple, whereas the previous heuristics were inherently messy and unreliable anyway.
…r=mati865

interpret: test SNaN handling of float min/max and update comments

Also see rust-lang#149563.

I also renamed these enum variants so they are not almost identical.
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs 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. labels Dec 5, 2025
@rustbot rustbot added T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Dec 5, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Dec 5, 2025

📌 Commit a43b30c 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 Dec 5, 2025
@bors
Copy link
Collaborator

bors commented Dec 5, 2025

⌛ Testing commit a43b30c with merge 66428d9...

@bors
Copy link
Collaborator

bors commented Dec 5, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing 66428d9 to main...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Dec 5, 2025
@bors bors merged commit 66428d9 into rust-lang:main Dec 5, 2025
12 checks passed
@rustbot rustbot added this to the 1.93.0 milestone Dec 5, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Dec 5, 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 97b131c (parent) -> 66428d9 (this PR)

Test differences

Show 466 test diffs

Stage 1

  • [ui] tests/ui/borrowck/borrowck-for-loop-deref-pattern-assignment.rs: [missing] -> pass (J0)
  • [ui] tests/ui/const-generics/mgca/resolution-with-inherent-associated-types.rs: [missing] -> pass (J0)
  • [ui] tests/ui/delegation/unused-import-ice-144594.rs: [missing] -> pass (J0)
  • [ui] tests/ui/iterators/fromrangeiter.rs: [missing] -> pass (J0)
  • [ui] tests/ui/iterators/iterrangefrom.rs: pass -> [missing] (J0)
  • [ui] tests/ui/macros/macro-hygiene-help-issue-149604.rs: [missing] -> pass (J0)
  • [ui] tests/ui/print-request/backend-has-zstd-unstable.rs: [missing] -> pass (J0)
  • [codegen] tests/codegen-llvm/fromrangeiter-overflow-checks.rs#DEBUG: [missing] -> pass (J2)
  • [codegen] tests/codegen-llvm/fromrangeiter-overflow-checks.rs#NOCHECKS: [missing] -> pass (J2)
  • [codegen] tests/codegen-llvm/iterrangefrom-overflow-checks.rs#DEBUG: pass -> [missing] (J2)
  • [codegen] tests/codegen-llvm/iterrangefrom-overflow-checks.rs#NOCHECKS: pass -> [missing] (J2)

Stage 2

  • [ui] tests/ui/borrowck/borrowck-for-loop-deref-pattern-assignment.rs: [missing] -> pass (J1)
  • [ui] tests/ui/const-generics/mgca/resolution-with-inherent-associated-types.rs: [missing] -> pass (J1)
  • [ui] tests/ui/delegation/unused-import-ice-144594.rs: [missing] -> pass (J1)
  • [ui] tests/ui/iterators/fromrangeiter.rs: [missing] -> pass (J1)
  • [ui] tests/ui/iterators/iterrangefrom.rs: pass -> [missing] (J1)
  • [ui] tests/ui/macros/macro-hygiene-help-issue-149604.rs: [missing] -> pass (J1)
  • [ui] tests/ui/print-request/backend-has-zstd-unstable.rs: [missing] -> pass (J1)
  • [codegen] tests/codegen-llvm/fromrangeiter-overflow-checks.rs#DEBUG: [missing] -> pass (J3)
  • [codegen] tests/codegen-llvm/fromrangeiter-overflow-checks.rs#NOCHECKS: [missing] -> pass (J3)
  • [codegen] tests/codegen-llvm/iterrangefrom-overflow-checks.rs#DEBUG: pass -> [missing] (J3)
  • [codegen] tests/codegen-llvm/iterrangefrom-overflow-checks.rs#NOCHECKS: pass -> [missing] (J3)

Additionally, 444 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 66428d92bec337ed4785d695d0127276a482278c --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-linux: 6482.8s -> 8898.0s (+37.3%)
  2. dist-aarch64-apple: 6845.2s -> 7902.2s (+15.4%)
  3. x86_64-mingw-1: 9304.0s -> 10143.7s (+9.0%)
  4. dist-x86_64-llvm-mingw: 6912.5s -> 7494.5s (+8.4%)
  5. armhf-gnu: 4986.9s -> 5384.7s (+8.0%)
  6. aarch64-gnu: 6382.6s -> 6860.4s (+7.5%)
  7. dist-apple-various: 3795.3s -> 4069.2s (+7.2%)
  8. aarch64-gnu-debug: 4129.7s -> 4419.4s (+7.0%)
  9. aarch64-msvc-2: 5384.7s -> 5008.7s (-7.0%)
  10. dist-x86_64-linux-alt: 8326.5s -> 7757.1s (-6.8%)
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
#148662 alloc: Document panics when allocations will exceed max 774d082ab43fc3e8556c4c8d93809649af5b5e5b (link)
#148811 core docs: rewrite panic::Location::caller with visual li… 9580d10069b56f6350957eaaaec88bc5f9eaffe8 (link)
#149101 Improve mutable-binding suggestion to include name ad6f958174e007671ba837913705db9205ad2009 (link)
#149477 float::maximum/minimum: make docs more streamlined 86eccadd1570055e79824df40bac710d5f814793 (link)
#149547 library: Rename IterRange* to Range*Iter f12f76a699c3087743659359e3ff17196dbec8a2 (link)
#149548 Generate delegation error body when delegation is not resol… 5e5dd219bfe78a3e80e367ab19fe4ee022a70225 (link)
#149630 Check identifiers defined in macros when suggesting identif… 0d12fb503b0f1f0c0d95cada1f9c6fbe1db74ed4 (link)
#149647 Add regression test for 141845 4975e3f15d968ae83549615effcc473f3998ec73 (link)
#149661 Fix for LLVM22 making lowering decisions dependent on Runti… 07b1b5a0554952de985038e6cc9ee353e1edf03f (link)
#149666 Add perma-unstable --print=backend-has-zstd for use by co… 273056006b7b9d2cfabcad13a66f89d12ece972d (link)
#149671 interpret: test SNaN handling of float min/max and update c… 7fbe8bf8db4f5bb9e57bc795a8d5731c2ef3826e (link)

previous master: 97b131c900

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 (66428d9): 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 3.1%)

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

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

Cycles

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

Binary size

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

Bootstrap: 470.371s -> 470.249s (-0.03%)
Artifact size: 386.79 MiB -> 386.85 MiB (0.01%)

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

Labels

A-compiletest Area: The compiletest test runner A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs 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 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.