Skip to content

Rollup of 7 pull requests - #164865

Merged
rust-bors[bot] merged 14 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-4z5oZd9
Oct 24, 2026
Merged

rust-bors[bot] merged 14 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-4z5oZd9

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

estebank and others added 14 commits March 10, 2026 23:12
…n message to the first one that applied

When calling a method that appears on `Iterator`, we often say "`Foo` is not an iterator", even if that method exists in other traits, which is quite confusing and many times nonsensical. Now, if we mention multiple traits we revert the main message back:

```
error[E0599]: no method named `take` found for struct `Foo` in the current scope
  --> $DIR/method-call-err-msg.rs:19:7
   |
LL |   pub struct Foo;
   |   -------------- method `take` not found for this struct because it doesn't satisfy `Foo: Iterator`
...
LL | /     y.zero()
LL | |      .take()
   | |      -^^^^ `Foo` is not an iterator
   | |______|
   |
   |
   = note: the following trait bounds were not satisfied:
           `Foo: Iterator`
           which is required by `&mut Foo: Iterator`
note: the trait `Iterator` must be implemented
  --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
   = help: items from traits can only be used if the trait is implemented and in scope
   = note: the following traits define an item `take`, perhaps you need to implement one of them:
           candidate rust-lang#1: `Iterator`
           candidate rust-lang#2: `std::io::Read`
```
We already set the module flag, so all we have to do is move the #endif
from a few lines earlier. The struct member no longer exists in LLVM
24.
Some projects manually define rust_eh_personality as they use no_std on
a target where libcore is compiled with panic=unwind and thus need
rust_eh_personality to be present while it is only defined in libstd.
These projects don't want to use unstable features and thus can't use a
proper #[lang = "eh_personality"].
Allow simd types in improper_ctypes lint

There are more specific lints / hard errors for simd types in C ABI (if I understand rust-lang#63068 (comment) correctly) so I guess we can make this lint not fire for simd types.

r? @RalfJung
…k-Simulacrum

Stop mangling rust_eh_personality again for now

Some projects manually define rust_eh_personality as they use no_std on a target where libcore is compiled with panic=unwind and thus need rust_eh_personality to be present while it is only defined in libstd. These projects don't want to use unstable features and thus can't use a proper #[lang = "eh_personality"].

This reverts just the symbol mangling change of rust-lang#148413. It preserves all the refactors to prevent codegen backends from hard coding the symbol name, so we can easily change it back to mangled in the future again.
…rouwer

When multiple traits are applicable for method, do not specialize main message to the first one that applied

When calling a method that appears on `Iterator`, we often say "`Foo` is not an iterator", even if that method exists in other traits, which is quite confusing and many times nonsensical. Now, if we mention multiple traits we revert the main message back:

```
error[E0599]: no method named `take` found for struct `Foo` in the current scope
  --> $DIR/method-call-err-msg.rs:19:7
   |
LL |   pub struct Foo;
   |   -------------- method `take` not found for this struct because it doesn't satisfy `Foo: Iterator`
...
LL | /     y.zero()
LL | |      .take()
   | |      -^^^^ `Foo` is not an iterator
   | |______|
   |
   |
   = note: the following trait bounds were not satisfied:
           `Foo: Iterator`
           which is required by `&mut Foo: Iterator`
note: the trait `Iterator` must be implemented
  --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
   = help: items from traits can only be used if the trait is implemented and in scope
   = note: the following traits define an item `take`, perhaps you need to implement one of them:
           candidate rust-lang#1: `Iterator`
           candidate rust-lang#2: `std::io::Read`
```

Fix rust-lang#113550.
…k-Simulacrum

Retroactively add missing stabilized APIs to relnotes

Context: [#t-release > Missing item from past relnotes](https://rust-lang.zulipchat.com/#narrow/channel/241545-t-release/topic/Missing.20item.20from.20past.20relnotes/with/630486190)

* Closes rust-lang#151601: `core::arch::aarch64::__jcvt`, stabilized in rust-lang/stdarch#1938 in 1.95.0
* Closes rust-lang#154762: `{Option,Result}::map_or_default`, stabilized in rust-lang#156222 in 1.98.0
* Closes rust-lang#157821: `Box::as_{mut_,}ptr`, stabilized in rust-lang#157876 in 1.98.0
* Closes rust-lang#156779: `Path::is_empty`, stabilized in rust-lang#157065 in 1.98.0
* Closes rust-lang#157517: `PathBuf::into_string`, stabilized in rust-lang#156840 in 1.98.0
* Closes rust-lang#157393: `arch::{arm,aarch64}::vdot*` NEON dot product intrinsics, stabilized in rust-lang/stdarch#2120 in 1.98.0
* Closes rust-lang#158831: `<LocalKey<Cell<T>>>::update`, stabilized in rust-lang#157734 in 1.99.0
…uppe

Remove remaining mentions of `Unique`

Removes the remaining mentions of `Unique` from the codebase

I didn't touch the standalone `core_mini` codegen examples that declare their own `struct Unique` because I don't know what they are intended to show, and also some of them have a very outdated version of the layout of `Box` (no allocators).

The only mentions of `Unique` I touched were the ones actually referring to `core::ptr::unique::Unique`.

cc rust-lang#164146 (comment)

r? hanna-kruppe
…nikic

PassWrapper: stop setting Options.ExceptionModel on LLVM 24

We already set the module flag, so all we have to do is move the #endif from a few lines earlier. The struct member no longer exists in LLVM 24.

@rustbot label: +llvm-main
…ng_issue, r=ChrisDenton

Add tracking issue for `#![feature(char_is_xid)]`

Adds the tracking issue (rust-lang#164841) for `#![feature(char_is_xid)]`

Closes rust-lang/libs-team#540 (the corresponding ACP)
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Oct 24, 2026
@rustbot rustbot added 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 PG-exploit-mitigations Project group: Exploit mitigations 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-release Relevant to the release subteam, which will review and decide on the PR/issue. labels Oct 24, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors r+ p=5 force

Trying commonly failed jobs
@bors try jobs=dist-various-1,test-various,test-x86_64-gnu-aux,test-x86_64-msvc-1,test-aarch64-apple-1,test-aarch64-apple-2,test-x86_64-mingw-1,test-i686-msvc,test-armhf-gnu,test-x86_64-gnu-llvm-22-3

@rust-bors

rust-bors Bot commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 9bbc99e has been approved by JonathanBrouwer

It is now in the queue for this repository.

@rust-bors rust-bors Bot 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 Oct 24, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Oct 24, 2026
Rollup of 7 pull requests


try-job: dist-various-1
try-job: test-various
try-job: test-x86_64-gnu-aux
try-job: test-x86_64-msvc-1
try-job: test-aarch64-apple-1
try-job: test-aarch64-apple-2
try-job: test-x86_64-mingw-1
try-job: test-i686-msvc
try-job: test-armhf-gnu
try-job: test-x86_64-gnu-llvm-22-3
@rust-bors

This comment has been minimized.

@rust-bors

rust-bors Bot commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: c231bd0 (c231bd0b9a436eae46c33ce5d01710b4de85bee6)
Base parent: df87fa6 (df87fa6604e33760d4703cccc777a2281bf15a2d)

@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 Oct 24, 2026
@rust-bors

rust-bors Bot commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 26m 1s
Pushing 12433c3 to main...

@rust-bors
rust-bors Bot merged commit 12433c3 into rust-lang:main Oct 24, 2026
16 checks passed
@rustbot rustbot added this to the 1.101.0 milestone Oct 24, 2026
@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 df87fa6 (parent) -> 12433c3 (this PR)

Test differences

No test diffs found

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 12433c307b5a497388ffe2f4e49dbf1ab8c71fa0 --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-i686-msvc: 31m 26s -> 51m 56s (+65.2%)
  2. test-x86_64-msvc-2: 1h 36m -> 2h 34m (+61.1%)
  3. optional-test-x86_64-gnu-autodiff: 34m 31s -> 52m 46s (+52.9%)
  4. test-various: 1h 27m -> 2h 11m (+50.0%)
  5. dist-various-1: 34m 22s -> 50m 20s (+46.5%)
  6. test-x86_64-gnu-llvm-22-2: 1h 9m -> 1h 40m (+45.6%)
  7. test-x86_64-msvc-ext2: 1h 6m -> 1h 36m (+44.9%)
  8. dist-various-2: 35m 10s -> 50m 56s (+44.8%)
  9. test-i686-gnu-nopt-1: 1h 28m -> 2h 8m (+44.6%)
  10. dist-powerpc64-linux-gnu: 1h 8m -> 1h 37m (+41.6%)
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 (12433c3): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This perf run didn't have relevant results for this metric.

Max RSS (memory usage)

Results (primary 0.2%, secondary 0.5%)

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

mean range count
Regressions ❌
(primary)
0.8% [0.5%, 1.2%] 8
Regressions ❌
(secondary)
0.5% [0.4%, 0.7%] 4
Improvements ✅
(primary)
-1.0% [-1.4%, -0.4%] 4
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.2% [-1.4%, 1.2%] 12

Cycles

Results (primary -0.2%, 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.6% [0.4%, 0.7%] 5
Regressions ❌
(secondary)
0.6% [0.5%, 0.8%] 4
Improvements ✅
(primary)
-0.8% [-1.8%, -0.5%] 7
Improvements ✅
(secondary)
-0.7% [-0.9%, -0.4%] 2
All ❌✅ (primary) -0.2% [-1.8%, 0.7%] 12

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
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.1% [-0.5%, -0.0%] 23
Improvements ✅
(secondary)
-0.2% [-0.6%, -0.0%] 17
All ❌✅ (primary) -0.1% [-0.5%, -0.0%] 23

Bootstrap: 487.491s -> 488.652s (0.24%)
Artifact size: 405.90 MiB -> 405.92 MiB (0.01%)

@rust-bors

rust-bors Bot commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#163270 Allow simd types in improper_ctypes lint bd84f2b0e41c388832d9516c1ce347a09021c5ed
(link)
#164855 Stop mangling rust_eh_personality again for now 51f7a1b6940bcb087b4fd1ebe5cd7f6bc499f810
(link)
#153679 When multiple traits are applicable for method, do not spec… 4df3e9b6f163015e5f93f82e66ea37fc4f5e3480
(link)
#164248 Retroactively add missing stabilized APIs to relnotes a3ec6baad43844a01e7c812f05c0f40d499fca9a
(link)
#164573 Remove remaining mentions of Unique 454252ef48d0fbb954566f74b222555c974d7bf4
(link)
#164824 PassWrapper: stop setting Options.ExceptionModel on LLVM 24 ba624758bfa5c9a096237261e8f702e7616f263b
(link)
#164844 Add tracking issue for #![feature(char_is_xid)] 76518acad266e500728078948c695e8766fee07a
(link)

parent commit: df87fa6604

In the case of a perf regression, run the following command with the SHAs of each PR you suspect might be the cause: @rust-timer triage $SHA $SHA $SHA..., or run @rust-timer triage all to benchmark all rollup members.

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

Labels

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 merged-by-bors This PR was explicitly merged by bors. PG-exploit-mitigations Project group: Exploit mitigations rollup A PR which is a rollup 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-release Relevant to the release subteam, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants