Skip to content

Rollup of 9 pull requests - #163469

Closed
JonathanBrouwer wants to merge 27 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-HKHIoSH
Closed

JonathanBrouwer wants to merge 27 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-HKHIoSH

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

RalfJung and others added 27 commits September 22, 2026 22:56
…=lcnr

next solver: prefer to select impl candidates over global where-clause candidates

Fixes rust-lang#162331

Ideally we'd use a more appropriate typing environment when doing const-eval for const-to-pat, which would also fix that (since the problem clauses wouldn't be present to begin with). Being able to do that seems kind of far off, though, so here's a quick fix that (mostly) matches what the old solver does.
…ss35

add `Div` and `Mul` for `Complex<{float}>`

tracking issue: rust-lang#154023

There are no fallbacks for the libcalls, so Miri will currently fail.
…lution, r=petrochenkov

Fix intra doc link resolution when a doc comment is composed of both inner and outer doc comment

Fixes rust-lang#78591
Fixes rust-lang#119965
Fixes rust-lang#134904

This PR handles the case where doc is composed of both inner and outer doc comments. Which is generally not an issue... except for modules. So to fix this issue, I split the doc comments in two parts: outer on one side and inner on the other. To make it work, I changed some APIs to now receive an iterator of attributes rather than a slice of attributes.

r? @Urgau
…enton

Add `Dir` equivalents of `fs::metadata` & `fs::symlink_metadata`

This adds methods to `Dir` that allow querying the metadata of files/directories relative to a `Dir`. Miri would [really like](rust-lang/miri#5327) to be able to do this so I figured I'd give it a shot. :)

The first commit refactors the Unix `DirEntry` methods a bit with `cfg_select` to avoid repeating the `cfg` condition.

Tracking issue: rust-lang#120426

try-jobs: test-x86_64-msvc-1
…-obk

make `RustaceansAreAwesome` satisfy trait bounds

We use `RustaceansAreAwesome` in place of `dyn Trait` when checking whether `Trait`'s methods' receivers are dyn-dispatchable. `Trait`'s where-bounds should hold for it.

Fixes rust-lang#161621
…isDenton

std: split stack overflow module

One of my current projects is to improve the UNIX stack overflow handling code. Outlining the inner `imp` modules out of the current 844-line module makes future work like rust-lang#162296 much easier to review.

The first three commits only exist to diffing simpler, the last one contains the import adjustments.
…rfonthey

Add .seek_read_buf_exact() to std::os::windows::fs::FileExt

Tracking issue: rust-lang#163183

This adds a `seek_read_buf_exact()` method to `std::os::windows::fs::FileExt` based on the `read_buf_exact_at()` method in `std::os::unix::fs::FileExt`.

And this adds a test for `seek_read_buf_exact()` based on the test for `seek_read_buf()`.

This extends the work in rust-lang#140771 which added `seek_read_buf()` and the work in rust-lang#162868 which added `seek_read_exact()` and `seek_write_all()` methods to  `std::os::windows::fs::FileExt`.

No LLMs were used in writing this PR.
Force the correct type variable to never for method resolution on an adjusted never type

Fixes the problem described in https://rust-lang.zulipchat.com/#narrow/channel/618216-t-types.2Fcall-for-participation/topic/method.20call.20on.20diverging.20infer.20doesn.27t.20constrain.20to.20never/near/627440568

The reason that the old code didn't work, as far as I understand, is that the subtype constraint `root_ty <: ty` is only evaluated after `ty` is unioned with `&_`, causing a `mismatched type` error when `&_` is then given the subtype constraint.

This is fixed by demanding `ty`, rather than `root_ty` to be equal to never.

I asked lcnr whether they think there's a way to reproduce this on the old trait solver, they were unsure and I also am.
I think to be safe we should backport this to 1.100, since the never type stabilization is in 1.100 and there might be a way to break this code then.

r? @lcnr
cc @WaffleLapkin
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Sep 29, 2026
@rustbot rustbot added the O-unix Operating system: Unix-like label Sep 29, 2026
@rustbot rustbot added O-windows Operating system: Windows 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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Sep 29, 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-gnu-llvm-21-3,test-x86_64-msvc-1,test-aarch64-apple-1,test-aarch64-apple-2,test-x86_64-mingw-1,test-i686-msvc,test-armhf-gnu

@rust-bors

rust-bors Bot commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

📌 Commit bbc8ca5 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 Sep 29, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Sep 29, 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-gnu-llvm-21-3
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
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Sep 29, 2026
…uwer

Rollup of 9 pull requests

Successful merges:

 - #162655 (next solver: prefer to select impl candidates over global where-clause candidates)
 - #162832 (add `Div` and `Mul` for `Complex<{float}>`)
 - #162862 (Fix intra doc link resolution when a doc comment is composed of both inner and outer doc comment)
 - #163024 (Add `Dir` equivalents of `fs::metadata` & `fs::symlink_metadata`)
 - #163200 (make `RustaceansAreAwesome` satisfy trait bounds)
 - #163210 (std: split stack overflow module)
 - #163331 (Move `Arc` and `Rc` into `rcs` mod)
 - #163183 (Add .seek_read_buf_exact() to std::os::windows::fs::FileExt)
 - #163450 (Force the correct type variable to never for method resolution on an adjusted never type)
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job dist-android failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
[RUSTC-TIMING] object test:false 6.496
warning: unused import: `fstatat as fstatat64`
  --> /rustc/c034d9ed1d75d7a7269c7bb4c7aa94ffe6659387/library/std/src/sys/fs/unix.rs:23:43
   |
23 |     dirent as dirent64, fstat as fstat64, fstatat as fstatat64, ftruncate64, lseek64,
   |                                           ^^^^^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default

error[E0308]: mismatched types
   --> /rustc/c034d9ed1d75d7a7269c7bb4c7aa94ffe6659387/library/std/src/sys/fs/unix/dir.rs:173:51
    |
173 |         cvt(unsafe { fstatat64(fd, path.as_ptr(), &mut stat, flag) })?;
    |                      ---------                    ^^^^^^^^^ expected `*mut stat64`, found `&mut stat`
    |                      |
    |                      arguments to this function are incorrect
    |
    = note:    expected raw pointer `*mut stat64`
            found mutable reference `&mut libc::stat`

@rust-bors rust-bors Bot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Sep 29, 2026
@rust-bors

rust-bors Bot commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

💔 Test for c034d9e failed: CI. Failed job:

@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 29, 2026
@rust-bors rust-bors Bot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Sep 29, 2026
@rust-bors

rust-bors Bot commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

PR #163024, which is a member of this rollup, was unapproved.

@rust-bors

rust-bors Bot commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 884c4cb (884c4cbf055a48f691a98780cd4e6a55d159af0c)
Base parent: 5d89371 (5d8937173e7c40406c167f4e94737da8925333ad)

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

Labels

O-unix Operating system: Unix-like O-windows Operating system: Windows 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-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants