Skip to content

Rollup of 8 pull requests#158941

Closed
jhpratt wants to merge 26 commits into
rust-lang:mainfrom
jhpratt:rollup-RNmDrGo
Closed

Rollup of 8 pull requests#158941
jhpratt wants to merge 26 commits into
rust-lang:mainfrom
jhpratt:rollup-RNmDrGo

Conversation

@jhpratt

@jhpratt jhpratt commented Jul 8, 2026

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

cammeresi and others added 26 commits May 12, 2026 17:33
Signed-off-by: Xiangfei Ding <dingxiangfei2009@protonmail.ch>
Storage is still required even if the local is moved out and
immediately moved in again.

Signed-off-by: Xiangfei Ding <dingxiangfei2009@protonmail.ch>
Co-Authored-By: Clar Fon <15850505+clarfonthey@users.noreply.github.com>
Co-Authored-By: Clar Fon <15850505+clarfonthey@users.noreply.github.com>
Moves unsafe code from `alloc::io` into `alloc::vec`. A more general `try_extend_from_slice` may be useful in the future, but that requires changing how specialization is done for `SpecExtend` and that's a lot for an internal-only function.
Same as rust-lang/rust/147495, just keeping it up-to-date.
in `is_call_from_compiler_builtins_to_upstream_monomorphization`,
suggested by Saethlin
We'll do this using `-Zforce-intrinsic-fallback` in the main repo going forward
A number of float operations from libm have intrinsics for optimization,
but it is also okay to just call the libm functions directly. Add a
fallback for these cases, including converting to/from another float
size where needed, so the backends don't need to override these.

We do not add a fallback body for intrinsics that have a softfloat
implementation (e.g. sqrt, fma), because it would make them harder
to constify later.
Emscripten targets wasm32 but provides a working POSIX fd layer, including
fcntl(F_DUPFD_CLOEXEC) and dup2(), so it should use the real implementations
rather than the wasm32 UNSUPPORTED_PLATFORM stubs:

- try_clone_to_owned now uses fcntl(F_DUPFD_CLOEXEC) instead of returning
  UNSUPPORTED_PLATFORM
- replace_stdio_fd now uses dup2() instead of the wasm32 fallback
…rfonthey

Move `std::io::Write` to `core::io`

ACP: rust-lang/libs-team#755
Tracking issue: rust-lang#154046
Split From: rust-lang#156527
~~Blocked On: rust-lang#158537
~~Blocked On: rust-lang#158540

## Description

Moves `std::io::Write` to `core::io`. This is effectively a direct cut and paste, but with a large diff due to how many implementations need to be moved into `alloc` and `core`. Blocked on rust-lang#158537 and rust-lang#158540.

---

## Notes

* No AI tooling of any kind was used during the creation of this PR.
* Please see rust-lang#154046 (comment) for a review order and broader context for this PR.
… r=RalfJung,saethlin

intrinsics: Add a fallback for non-const libm float functions

A number of float operations from libm have intrinsics for optimization, but it is also okay to just call the libm functions directly. Add a fallback for these cases, including converting to/from another float size where needed, so the backends don't need to override these.
…cjgillot

Fix coroutine MIR saved local remapping

The unsound analysis was found while I was working on the `async-drop` code. Apparently the counter variable in the array drop glue is not correctly identified as a saved local.

Also we did not patch up indices in `ProjectionElem::Index` when they are saved locals.

The reproduction is in the older commit with the expected output.
…-ld, r=lqd

Update wasm-component-ld to 0.5.26

Same as rust-lang#147495, just keeping it up-to-date.
wrapping_sh* methods: clarify underspecified reference

Reading these docs, it was not clear to me whether "the behavior" here refers to the behavior described in the previous sentence, or the behavior of this method. Let's clarify that.

Cc @scottmcm who wrote these docs (rust-lang#149837)
…nthey

Stabilize `VecDeque::retain_back` from `truncate_front`

Tracking issue: rust-lang#140667
Closes: rust-lang#140667

@rustbot label -T-libs +T-libs-api +needs-fcp +S-waiting-on-fcp

r? t-libs-api
…est, r=jieyouxu

Update `browser-ui-test` version to `0.24.1`

Fixes rust-lang#157747.

It includes GuillaumeGomez/browser-UI-test#749.

Hopefully this flaky issue won't be anymore.

r? @jieyouxu
…jhpratt

std: support real fd methods on Emscripten

Emscripten targets wasm32 but provides a working POSIX fd layer, including `fcntl(F_DUPFD_CLOEXEC)` and `dup2()`, so it should use the real implementations rather than the wasm32 `UNSUPPORTED_PLATFORM` stubs:

- `try_clone_to_owned` now uses `fcntl(F_DUPFD_CLOEXEC)` instead of returning `UNSUPPORTED_PLATFORM`
- `replace_stdio_fd` now uses `dup2()` instead of the `wasm32` fallback
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Jul 8, 2026
@rustbot rustbot added A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc O-unix Operating system: Unix-like labels Jul 8, 2026
@rustbot rustbot added 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 Jul 8, 2026
@jhpratt

jhpratt commented Jul 8, 2026

Copy link
Copy Markdown
Member Author

@bors r+ rollup=never p=5

@rust-bors

rust-bors Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

📌 Commit c8b1773 has been approved by jhpratt

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 Jul 8, 2026
@rust-bors

This comment has been minimized.

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

Successful merges:

 - #158541 (Move `std::io::Write` to `core::io`)
 - #150946 (intrinsics: Add a fallback for non-const libm float functions)
 - #158655 (Fix coroutine MIR saved local remapping)
 - #158920 (Update wasm-component-ld to 0.5.26)
 - #158926 (wrapping_sh* methods: clarify underspecified reference)
 - #151379 (Stabilize `VecDeque::retain_back` from `truncate_front`)
 - #158913 (Update `browser-ui-test` version to `0.24.1`)
 - #158935 (std: support real fd methods on Emscripten)
@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 Jul 8, 2026
@rust-bors

rust-bors Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 8d127a0 failed: CI. Failed jobs:

@jhpratt

jhpratt commented Jul 8, 2026

Copy link
Copy Markdown
Member Author

@bors retry spurious

@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 Jul 8, 2026
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

A job failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)

@rust-bors

This comment has been minimized.

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

Successful merges:

 - #158541 (Move `std::io::Write` to `core::io`)
 - #150946 (intrinsics: Add a fallback for non-const libm float functions)
 - #158655 (Fix coroutine MIR saved local remapping)
 - #158920 (Update wasm-component-ld to 0.5.26)
 - #158926 (wrapping_sh* methods: clarify underspecified reference)
 - #151379 (Stabilize `VecDeque::retain_back` from `truncate_front`)
 - #158913 (Update `browser-ui-test` version to `0.24.1`)
 - #158935 (std: support real fd methods on Emscripten)
@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 Jul 8, 2026
@rust-bors

rust-bors Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

💔 Test for a4a7a0f failed: CI. Failed job:

@jhpratt jhpratt closed this Jul 8, 2026
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jul 8, 2026
@rust-bors

rust-bors Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

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

@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 Jul 8, 2026
@jhpratt jhpratt deleted the rollup-RNmDrGo branch July 8, 2026 07:31
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

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

Click to see the possible cause of the failure (guessed by this bot)

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 O-unix Operating system: Unix-like 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.