Skip to content

Rollup of 10 pull requests#156405

Open
JonathanBrouwer wants to merge 69 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-yJcad1j
Open

Rollup of 10 pull requests#156405
JonathanBrouwer wants to merge 69 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-yJcad1j

Conversation

@JonathanBrouwer
Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

chorman0773 and others added 30 commits April 26, 2026 11:56
* Implement core::arch::return_address and tests

Fix typo

Apply suggestions from code review

Wording/docs changes.

Co-authored-by: Ralf Jung <post@ralfj.de>

Change signature according to Ralf's comment

Fix call to `core::intrinsics::return_address()` according to the new signature

Add cranelift implementation for intrinsic

Change wording on `return_address!()` to be clear that returning a null pointer is best-effort.

Fix formatting of doc comment

Fix mistake in cranelift codegen
* Do not generate llvm.returnaddress on wasm
* Supress return_address test on miri
Previously it only worked for bound and listening sockets and returned
an unspecified address otherwise.
This updates the rust-version file to 045b177.
…kname-for-connected-sockets

Add `getsockname` shim for connecting and connected sockets
avoid underflow in std::Instant when computing times before program startup
…-wsa-error-fix

Remove `WSAESHUTDOWN` workaround for network socket writes
This commit introduces `PassFailMode` as an internal detail of `TestProps`, but
the full migration is left to a subsequent commit.
Using those shims socket addresses can be created directly from
hostnames (e.g. using `ToSocketAddrs` from the standard library)
Add `getaddrinfo` and `freeaddrinfo` shims
This updates the rust-version file to 4ddd453.
This updates the rust-version file to 32bd660.
…-Simulacrum

Implement `core::arch::return_address` and tests

Tracking issue: rust-lang#154966

Implements libs-team#768
…s, r=notriddle

rustdoc: Reify emission types

Implements rust-lang#155374 (comment):

Instead of maintaining the hidden assumption or invariant that `opts.emit.is_empty()` actually means "emit default artifacts" (i.e., `[HtmlStaticFiles, HtmlNonStaticFiles]` under output format `html`; "`[???]`" under output format `json`), actually *reify* the list of emission types so the rest of the code doesn't need to keep this in mind.

I'm not sure if you like this. It's a tinge overengineered, maybe, but it's more robust I claim.

This PR also rejects `--emit` when `--output-format doctest -Zunstable-options` is passed since the latter doesn't honor emission types at all (yet).
…kang

Fix closure HIR span context mismatch

Ensure span has the closure expression's SyntaxContext.

Closes rust-lang#155724
…wiser

Handle --print=backend-has-mnemonic in cg_clif

And introduce a `has_mnemonic` method on `CodegenBackend` just like `--print=backend-has-zstd`.
std fs tests: avoid matching on OS-provided error string

These tests are [ancient](rust-lang@6bfbad9). No idea why there written in this style back then, but today we'd clearly check the `ErrorKind`, not the string.

r? @ChrisDenton
compiletest: Migrate from `PassMode`/`FailMode` to `PassFailMode`

Every UI test has an explicit or implicit “pass/fail mode” (e.g. `check-fail` or `build-pass`) that was historically stored in two separate optional fields (`pass_mode` and `fail_mode`). That split made it very hard to determine how the respective values were actually produced and consumed, especially in the presence of `--pass=check` on the command-line, or when building auxiliary crates.

This PR replaces the separate fields and enums for pass-mode and fail-mode with a single `PassFailMode` enum and a single `pass_fail_mode` field.

With this new representation, it should hopefully be easier to understand and modify the pass/fail-mode logic.

---

In order to focus on the main migration, I have mostly refrained from subsequent cleanups.

r? jieyouxu
…ark-Simulacrum

core: Replace `ptr::slice_from_raw_parts` with `slice::from_raw_parts`
…r=nia-e

stream_send_recv_stress tests: wait for threads to finish

These tests currently fail in Miri (when run with nextest) because all they do is spawn a lot of threads that will do stuff, but they don't wait for the threads to actually finish. Miri by default errors when there are background threads lingering when `main` is done (since that can indicate a leak, and since it makes it impossible to check for memory leaks). Miri gives background threads a bit of time to finish when `main` is done, but for these tests that's nowhere near enough since basically the entire test runs after `main` is done.

Outside Miri, this could also still mean that the test doesn't actually run to completion, it might get abort when `main` finishes.

So let's use `thread::scope` to ensure all threads are done before the test is considered done.
…nt, r=Nadrieril

Fix invalid unreachable in is_known_valid_scrutinee for Reborrow

Fixes rust-lang#156304

Part of the Reborrow traits experiment rust-lang#145612
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label May 10, 2026
@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-rustdoc-json Area: Rustdoc JSON backend 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. 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. labels May 10, 2026
@JonathanBrouwer
Copy link
Copy Markdown
Contributor Author

@bors r+ rollup=never p=5

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

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 10, 2026

📌 Commit cfd0d4c 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 May 10, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request May 10, 2026
Rollup of 10 pull requests


try-job: dist-various-1
try-job: test-various
try-job: x86_64-gnu-aux
try-job: x86_64-gnu-llvm-21-3
try-job: x86_64-msvc-1
try-job: aarch64-apple
try-job: x86_64-mingw-1
try-job: i686-msvc-2
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 10, 2026

⌛ Testing commit cfd0d4c with merge 4b0c9d7...

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

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

Rollup of 10 pull requests

Successful merges:

 - #156394 (miri subtree update)
 - #154972 (Implement `core::arch::return_address` and tests)
 - #155679 (rustdoc: Reify emission types)
 - #155982 (Fix closure HIR span context mismatch)
 - #156323 (Handle --print=backend-has-mnemonic in cg_clif)
 - #156387 (std fs tests: avoid matching on OS-provided error string)
 - #156129 (compiletest: Migrate from `PassMode`/`FailMode` to `PassFailMode`)
 - #156192 (core: Replace `ptr::slice_from_raw_parts` with `slice::from_raw_parts`)
 - #156365 (stream_send_recv_stress tests: wait for threads to finish)
 - #156368 (Fix invalid unreachable in is_known_valid_scrutinee for Reborrow)
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 10, 2026

☀️ Try build successful (CI)
Build commit: 0da9b30 (0da9b30008e74299dbfd4f1ed68a8b76dcfaf553, parent: 99eed207b47aca1fec5c665531db8e948a92d0ca)

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-rustdoc-json Area: Rustdoc JSON backend A-testsuite Area: The testsuite used to check the correctness of rustc 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. 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.