Skip to content

Rollup of 9 pull requests - #164805

Closed
JonathanBrouwer wants to merge 42 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-JhEwIbj
Closed

JonathanBrouwer wants to merge 42 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-JhEwIbj

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

dianne and others added 30 commits August 11, 2026 04:47
This updates the rust-toolchain.toml file to nightly-2026-10-08 (1d81eb4).
Do not suggest

```
help: consider importing this module
   |
LL +         use a;
   |
```

Suggest renamed re-exports:

```
error[E0603]: module `i` is private
  --> $DIR/privacy1.rs:172:20
   |
LL |     use self::foo::i::A;
   |                    ^ private module
   |
note: the module `i` is defined here
  --> $DIR/privacy1.rs:177:9
   |
LL |         mod i {
   |         ^^^^^
help: consider importing this struct through its public re-export instead
   |
LL -     use self::foo::i::A;
LL +     use mytest::foo::Z;
   |
```

Suggest renamed imports:

```
error[E0404]: expected trait, found struct `Debug`
  --> $DIR/suggest-re-exported-name.rs:7:22
   |
LL | pub fn foo() -> impl Debug {
   |                      ^^^^^ not a trait
   |
help: consider using this trait through its public re-export instead
   |
LL | pub fn foo() -> impl OtherDebug {
   |                      +++++
```
This updates the rust-toolchain.toml file to nightly-2026-10-12 (080cc27).
This updates the rust-toolchain.toml file to nightly-2026-10-14 (822182d).
This updates the rust-toolchain.toml file to nightly-2026-10-19 (b6eeb93).
records current behaviour. for an anonymous lifetime the suggestion renders use<'_>, which resolves to the first elided lifetime in the signature. two of the cases here still fail after applying it, and one stops resolving entirely and reports a missing lifetime specifier on top of the original error.
for an anonymous lifetime the suggestion rendered use<'_>, which resolves to the first elided lifetime in the signature. with several of them it either captured the wrong one or stopped resolving and reported a missing lifetime specifier on top of the original error.

when the hidden type captures more than one anonymous lifetime the suggestion now names them in the signature and lists those names in the bound. a signature with a single elided lifetime keeps the shorter use<'_> form.

fixes rust-lang#132199
suggest_name_regions names several regions against one set of used names and adds the new generic parameters once, and suggest_name_region now delegates to it
This updates the rust-toolchain.toml file to nightly-2026-10-23 (7189d39).
And "eager (type alias)" with "unchecked (type alias)".
RalfJung and others added 10 commits October 23, 2026 15:41
…bjorn3

rustc_codegen_cranelift subtree update

Subtree update of `rustc_codegen_cranelift` to rust-lang/rustc_codegen_cranelift@421bcfe.

The main highlight this time is updating Cranelift to 0.137. This fixes an ABI issue on Windows.

Created using https://github.com/rust-lang/josh-sync.

r? @ghost

@rustbot label +A-codegen +A-cranelift +T-compiler +subtree-sync
…=joboet

std: keep value of `local_pointer!` until `thread_cleanup` is run

(
**NOTE**: LLM **was** used to write the initial version of these ~26 lines of code, subsequently also edited by me during the review (`LocalPointer::__new` now delegates to the new `LocalPointer::__new_with_dtor`; I did hide the `keep_current` inside the initialization block of `CURRENT`).
)

The PR fixes a memory leak specific for the ESP-IDF target which happens during thread destruction.

The TL;DR is that the current code relies on behavior which is **not** mandated by the POSIX spec, and just happens to work fine on the few major platforms that use that code (bionic, openbsd).

More details [in this comment and the ones that follow](esp-rs/esp-idf#522 (comment)).

Note also that - **according to the LLM** - `glibc` and `musl` would leak too, **if** they were using pthread keys in the first place.

So it is not like ESP-IDF is the outlier here.

In fact, the LLM even suggested `#[cfg(all(target_family = "unix", not(target_thread_local)))]` instead of `#[cfg(target_os = "espidf")]`, but let's take small steps.  I can't test on those other platforms anyway, as they are relatively exotic (gnux32, open-harmony - basically `glibc` and `musl` targets without Native-TLS support).

CC @joboet
CC @kyrias
…youxu

Bump dist-x86_64-illumos to Ubuntu 22.04

So that it can get new CA certificates.
borrowck dataflow: respect borrow shallowness when killing borrows that conflict with assignments

It's not a conflict to write to a sub-place of a shallowly borrowed place, so it's unsound to kill shallow borrows when we encounter assignments to their sub-places.

Fixes rust-lang#160599 on the default borrow checker and under `-Zpolonius=next`. I haven't touched `-Zpolonius=legacy` since I'm not sure how much we're maintaining it, but at a glance the fix looks like it would be the same.
…-use-bound, r=oli-obk

suggest named lifetimes instead of `'_` in `use<...>` for E0700

when a signature has more than one elided lifetime, the suggested `use<'_>` captures only the first in a case like `fn f(_a: &u8, b: &T) -> impl Sized` it stops resolving entirely and adds `error[E0106]` on top of the original error all at `MachineApplicable`.

when the hidden type captures more than one anonymous lifetime the suggestion now names them in the signature and lists those names in the bound which is the desired output from the issue. a signature with a single elided lifetime keeps the shorter `use<'_>`. this reuses the three-part shape `AddPreciseCapturingAndParams` already emits for argument-position `impl Trait` in the same function.

note. the argument-position `impl Trait` path in `AddPreciseCapturingAndParams` has the same defect when the signature also has elided reference lifetimes: `fn f(_a: impl Sized, x: &u8, y: &u8) -> impl Sized` still suggests `use<'_, T>` which produces `E0106` plus the original `E0700`. it is `MaybeIncorrect` so rustfix does not apply it but the suggestion misleads. ill follow up on that.

the new test is `//@ run-rustfix` with a `.fixed` file that compiles which also let `tests/ui/lifetimes/issue-105227.rs` drop its `FIXME(precise_capturing): Add rustfix here after dealing w/ elided lifetimes`.

  fixes rust-lang#132199

  r? @oli-obk
Account for `use foo as bar;` on resolution error suggestions

Do not suggest

```
help: consider importing this module
   |
LL +         use a;
   |
```

Suggest renamed re-exports:

```
error[E0603]: module `i` is private
  --> $DIR/privacy1.rs:172:20
   |
LL |     use self::foo::i::A;
   |                    ^ private module
   |
note: the module `i` is defined here
  --> $DIR/privacy1.rs:177:9
   |
LL |         mod i {
   |         ^^^^^
help: consider importing this struct through its public re-export instead
   |
LL -     use self::foo::i::A;
LL +     use mytest::foo::Z;
   |
```

Suggest renamed imports:

```
error[E0404]: expected trait, found struct `Debug`
  --> $DIR/suggest-re-exported-name.rs:7:22
   |
LL | pub fn foo() -> impl Debug {
   |                      ^^^^^ not a trait
   |
help: consider using this trait through its public re-export instead
   |
LL | pub fn foo() -> impl OtherDebug {
   |                      +++++
```

Fix rust-lang#76566.
…-obk

Make async drop shim proxy pinned

Fixes rust-lang#164433

The async drop shim proxy is missing the pinning transformation, so `drop(_1)` won't be edited in `build_future_drop_poll_shim`, but `_1` would be re-written to `Pin<&mut _>`. Then we would just drop the `Pin` and miss dropping the inner coroutine.

r? oli-obk
Complete the various renamings of terms belonging to feature `checked_type_aliases`

Various terms used in the context of feature `checked_type_aliases` have undergone renamings. See PRs rust-lang#140249 and rust-lang#158758. However, these PRs didn't update every single occurrence. This PR rectifies that.

For context, the renamings are

1. weak (alias (type)) → free (alias (type))
2. lazy (type alias) → checked (type alias), LTA → CTA
3. eager (type alias) → unchecked (type alias)

Moreover, I've renamed `tests/ui/checked-type-alias/` to `tests/ui/checked-type-aliases/` in accordance with the name of the feature, `checked_type_aliases`.

<sub>(No LLM was or will be used by me during the entire creation process of this PR)</sub>
miri: fix ICE when caller signature is c-variadic but callee is not

It's entirely unnecessary to pass the `extra_args` to the *callee* signature. We only need them on the caller side. This also simplifies c-variadic passing a bit.

Fixes rust-lang/miri#5465
r? @oli-obk
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Oct 23, 2026
@rustbot rustbot added A-CI Area: Our Github Actions CI 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-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure 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. labels Oct 23, 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 23, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 0afcc37 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 23, 2026
@rust-bors

rust-bors Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

⌛ Trying commit 0afcc37 with merge 748f822…

To cancel the try build, run the command @bors try cancel.

Workflow: https://github.com/rust-lang/rust/actions/runs/39977365940

rust-bors Bot pushed a commit that referenced this pull request Oct 23, 2026
Rollup of 9 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
@bjorn3

bjorn3 commented Oct 23, 2026

Copy link
Copy Markdown
Member

This rollup seems to be identical to #164804.

@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors try cancel
Yep, got race-conditioned :)

@rust-bors

rust-bors Bot commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

Try build cancelled. Cancelled workflows:

Hint: if you want to run another try build, you do not need to manually cancel the previous one. Just run @bors try and bors will cancel the previous build automatically.

@rust-bors rust-bors Bot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Oct 23, 2026
@rust-bors

rust-bors Bot commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

This pull request was unapproved due to being closed.

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

Labels

A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc rollup A PR which is a rollup S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure 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.