Skip to content

Rollup of 10 pull requests#155494

Merged
rust-bors[bot] merged 23 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-UvJjCP5
Apr 18, 2026
Merged

Rollup of 10 pull requests#155494
rust-bors[bot] merged 23 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-UvJjCP5

Conversation

@JonathanBrouwer
Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

ginnyTheCat and others added 23 commits March 26, 2026 17:42
This commit updates the crate dependency that the standard library has
on the `wasi` crate. This is now updated to depending explicitly on the
`wasip1` crate and the `wasip2` crate published on crates.io. These
crates are managed in the [same location][repo] as the `wasi` crate and
represent a different versioning scheme which doesn't require
multi-version WASI support to require depending on the same crate at
multiple versions. The code in libstd is updated to reference `wasip1`
and `wasip2` directly as well.

[repo]: https://github.com/bytecodealliance/wasi-rs
This variant was never constructed anywhere.
…ext_chunk, r=Mark-Simulacrum

spec next chunk for trustedlen

relevant to rust-lang#98326
…imulacrum

net::tcp/udp: fix docs about how set_nonblocking is implemented

`fcntl` `FIONBIO` doesn't even make sense, it should be `fcntl` `F_SETFL`. However, for some reason we are using `ioctl` by default -- except on Solaris where this doesn't seem to work very well.

Honestly what I would have expected is that we just always use `FileDesc::set_nonblocking` also for network sockets, but for some reason we don't and there are no comments explaining this choice. Cc @nikarh (for "vita") @joboet
…lacrum

fix: add aliasing rules for Box

This is a new revised version for the PR [139857](rust-lang#139857), sorry for the delayed reply. I've rewritten the sentence to closely mirror the wording from `Vec::from_raw_parts`, which clearly states the transfer of ownership and its consequences. This should make the aliasing requirements much clearer.

I opted not to include a note about `mem::forget` by default to keep the documentation focused on the primary contract, similar to `Vec`.
…-Simulacrum

Make std::fs::File Send on UEFI

Similarly to rust-lang#150990 since UEFI has no threads, this should be safe.
…ng, r=Mark-Simulacrum

std: fix HashMap RNG docs wording

Fixes a wording typo in the top-level HashMap docs.

Changed "random number coroutine" to "random number generator" in the seed entropy paragraph.

This section is security-relevant, and "generator" is the correct term in RNG context.

Testing:
- Not run locally (docs-only text change).
Document why `layout.align() + layout.size()` doesn't overflow

This addition looks suspicious and is safety critical, but is saved by the weird `Layout` invariants.
…01, r=Kivooeo

Reorganize tests from `tests/ui/issues/`

The following tests are reorganized in this pull request

| old-name | new-sub-dir | new-name |
|-|-|-|
| `auxiliary/issue-2316-a.rs` | `resolve/auxiliary` | `resolve-conflict-local-vs-glob-import-a.rs` |
| `auxiliary/issue-2316-b.rs` | `resolve/auxiliary` | `resolve-conflict-local-vs-glob-import-b.rs` |
| `issue-2316-c.rs` | `resolve/` | `resolve-conflict-local-vs-glob-import.rs` |
| `issue-28839.rs` | `reborrow/` | `reborrow-mutable-reference.rs` |
| `issue-32008.rs` | `overloaded/` | `subtyping-both-lhs-and-rhs-in-add-impl.rs` |
| `issue-45425.rs` | `higher-ranked/` | `binop-lhs-hrtb-subtyping.rs` |

r? Kivooeo
…ark-Simulacrum

std: Update dependency on `wasi` crate

This commit updates the crate dependency that the standard library has on the `wasi` crate. This is now updated to depending explicitly on the `wasip1` crate and the `wasip2` crate published on crates.io. These crates are managed in the [same location][repo] as the `wasi` crate and represent a different versioning scheme which doesn't require multi-version WASI support to require depending on the same crate at multiple versions. The code in libstd is updated to reference `wasip1` and `wasip2` directly as well.

[repo]: https://github.com/bytecodealliance/wasi-rs
…ited, r=mejrs

Simplify `parse_limited`

Removes unnecessary arguments from `parse_limited` and cleans up feature gating of `on_unknown_attr`
…neric, r=scottmcm

Delete `SizeSkeleton::Generic`

This variant was never constructed anywhere.

r? @scottmcm
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Apr 18, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-tidy Area: The tidy tool O-wasi Operating system: Wasi, Webassembly System Interface O-wasm Target: WASM (WebAssembly), http://webassembly.org/ 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) labels Apr 18, 2026
@rustbot rustbot added 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. labels Apr 18, 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 Apr 18, 2026

📌 Commit 4039747 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 Apr 18, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Apr 18, 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

This comment has been minimized.

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Apr 18, 2026

☀️ Try build successful (CI)
Build commit: 75b187f (75b187fd77481bce705d4f01c4561ea353ba7111, parent: 3142beae24ddd6b7fd68e49e227bebf79181f9e4)

@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 Apr 18, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Apr 18, 2026

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 8m 28s
Pushing 0febdba to main...

@rust-bors rust-bors Bot merged commit 0febdba into rust-lang:main Apr 18, 2026
13 checks passed
@rustbot rustbot added this to the 1.97.0 milestone Apr 18, 2026
@rust-timer
Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#146870 fix: add aliasing rules for Box 914e7988c51a7b52e2b77573cb47d666c979a539 (link)
#150230 spec next chunk for trustedlen 5bfee5200e976fcc2c0a3547c6ced20f10d4a74d (link)
#154003 Make std::fs::File Send on UEFI ae8563ad86f146802ad7f28ef9224b3b6df141b8 (link)
#155187 std: fix HashMap RNG docs wording 3e7dcc8b342d6a20f9372386e8f8d3967bdb2b37 (link)
#155255 Document why layout.align() + layout.size() doesn't overf… 4dac2aa210021ba9bfe35f472d97011451ad0b01 (link)
#155284 net::tcp/udp: fix docs about how set_nonblocking is impleme… 6cfcf34e1c5807b9d537ab7330dbc2e71e50e48f (link)
#155351 Reorganize tests from tests/ui/issues/ e82d146f53a796daf0d58698d55dd0bbffdca822 (link)
#155406 std: Update dependency on wasi crate 11a0b7b6274f12e64f733674e21ea897f6432bde (link)
#155447 Simplify parse_limited b0eb82c030ca12f38f64c8883d5301077fb08b31 (link)
#155481 Delete SizeSkeleton::Generic d7da35361d15400ec1c66dd9faa33f42c6a7458b (link)

previous master: b2f1ccf524

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@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 b2f1ccf (parent) -> 0febdba (this PR)

Test differences

Show 227 test diffs

Stage 1

  • [ui] tests/ui/higher-ranked/binop-lhs-hrtb-subtyping.rs: [missing] -> pass (J0)
  • [ui] tests/ui/issues/issue-2316-c.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-32008.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-45425.rs: pass -> [missing] (J0)
  • [ui] tests/ui/overloaded/subtyping-both-lhs-and-rhs-in-add-impl.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/reborrow-mutable-reference.rs: [missing] -> pass (J0)
  • [ui] tests/ui/resolve/resolve-conflict-local-vs-glob-import.rs: [missing] -> pass (J0)
  • iter::traits::iterator::test_next_chunk_untrusted: [missing] -> pass (J2)

Stage 2

  • [ui] tests/ui/higher-ranked/binop-lhs-hrtb-subtyping.rs: [missing] -> pass (J1)
  • [ui] tests/ui/issues/issue-2316-c.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-32008.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-45425.rs: pass -> [missing] (J1)
  • [ui] tests/ui/overloaded/subtyping-both-lhs-and-rhs-in-add-impl.rs: [missing] -> pass (J1)
  • [ui] tests/ui/reborrow/reborrow-mutable-reference.rs: [missing] -> pass (J1)
  • [ui] tests/ui/resolve/resolve-conflict-local-vs-glob-import.rs: [missing] -> pass (J1)
  • iter::traits::iterator::test_next_chunk_untrusted: [missing] -> pass (J3)

Additionally, 211 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 0febdbab2720dc0360cd294c67db88d6d06580d4 --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-armv7-linux: 1h 12m -> 1h 30m (+25.8%)
  2. dist-ohos-armv7: 57m 27s -> 1h 11m (+24.8%)
  3. dist-various-1: 56m 56s -> 1h 10m (+24.6%)
  4. x86_64-msvc-1: 2h 40m -> 2h 2m (-23.8%)
  5. i686-msvc-1: 2h 21m -> 2h 54m (+23.3%)
  6. dist-powerpc64le-linux-gnu: 1h 35m -> 1h 16m (-19.1%)
  7. x86_64-gnu-tools: 59m 36s -> 48m 51s (-18.0%)
  8. dist-android: 27m 22s -> 22m 39s (-17.2%)
  9. dist-aarch64-llvm-mingw: 1h 39m -> 1h 55m (+16.6%)
  10. dist-aarch64-msvc: 1h 55m -> 1h 37m (-15.0%)
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 (0febdba): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.2% [-0.2%, -0.2%] 1
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 5.8%)

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

mean range count
Regressions ❌
(primary)
5.8% [2.9%, 8.1%] 3
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 5.8% [2.9%, 8.1%] 3

Cycles

Results (secondary 3.6%)

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)
3.6% [3.1%, 4.1%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Binary size

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

Bootstrap: 492.524s -> 493.472s (0.19%)
Artifact size: 394.41 MiB -> 394.42 MiB (0.00%)

@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)
  COMMIT_MESSAGE: cargo update 
##[endgroup]
Downloading single artifact
Preparing to download the following artifacts:
- Cargo-lock (ID: 6514537776, Size: 51095, Expected Digest: sha256:d21b3addf43169e8f8b9cc1610f9569599b24d660142aa45a4b58abaf7b9d801)
Redirecting to blob download url: https://productionresultssa10.blob.core.windows.net/actions-results/cde37cee-74ff-4990-b3fe-43d882c35655/workflow-job-run-8a263dd5-850a-5f77-9660-7e83f511470c/artifacts/858175980ba8726bab9f963fd06060d5199d874bbd735e523e2d990d354f8c0b.zip
Starting download of artifact to: /home/runner/work/rust/rust
(node:2285) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
SHA256 digest of downloaded artifact is d21b3addf43169e8f8b9cc1610f9569599b24d660142aa45a4b58abaf7b9d801
Artifact download completed successfully.
Total of 1 artifact(s) downloaded
Download artifact has finished successfully
---
  COMMIT_MESSAGE: cargo update 
##[endgroup]
Downloading single artifact
Preparing to download the following artifacts:
- cargo-updates (ID: 6514537879, Size: 2986, Expected Digest: sha256:f3fdfdca024779153856a191650bbfdbd7df2ceca65774dd3a83be54740fbc8b)
Redirecting to blob download url: https://productionresultssa10.blob.core.windows.net/actions-results/cde37cee-74ff-4990-b3fe-43d882c35655/workflow-job-run-8a263dd5-850a-5f77-9660-7e83f511470c/artifacts/ce9034d4568b3430f906da1368ae1cf3e14ef1542859eb2e8d635c0876371f53.zip
Starting download of artifact to: /home/runner/work/rust/rust
(node:2296) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
SHA256 digest of downloaded artifact is f3fdfdca024779153856a191650bbfdbd7df2ceca65774dd3a83be54740fbc8b
Artifact download completed successfully.
Total of 1 artifact(s) downloaded
Download artifact has finished successfully
##[group]Run echo "${COMMIT_MESSAGE}" > commit.txt
echo "${COMMIT_MESSAGE}" > commit.txt
cat cargo_update.log >> commit.txt

echo "${PR_MESSAGE}" > body.md
echo '```txt' >> body.md
cat cargo_update.log >> body.md
echo '```' >> body.md
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
---
dep-bumps
following is the output from `cargo update`:
  COMMIT_MESSAGE: cargo update 
##[endgroup]
##[group]Run git config user.name github-actions
git config user.name github-actions
git config user.email github-actions@github.com
git switch --force-create cargo_update
git add ./Cargo.lock ./library/Cargo.lock ./src/tools/rustbook/Cargo.lock
git commit --no-verify --file=commit.txt
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
---
dep-bumps
following is the output from `cargo update`:
  COMMIT_MESSAGE: cargo update 
##[endgroup]
remote: error: GH006: Protected branch update failed for refs/heads/cargo_update.        
remote: 
remote: - Cannot force-push to this branch        
To https://github.com/rust-lang/rust
 ! [remote rejected]   cargo_update -> cargo_update (protected branch hook declined)
error: failed to push some refs to 'https://github.com/rust-lang/rust'
##[error]Process completed with exit code 1.
Post job cleanup.

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

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-tidy Area: The tidy tool merged-by-bors This PR was explicitly merged by bors. O-wasi Operating system: Wasi, Webassembly System Interface O-wasm Target: WASM (WebAssembly), http://webassembly.org/ rollup A PR which is a rollup 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.