Skip to content

Rollup of 6 pull requests#156506

Merged
rust-bors[bot] merged 25 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-sOIgP3l
May 12, 2026
Merged

Rollup of 6 pull requests#156506
rust-bors[bot] merged 25 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-sOIgP3l

Conversation

@JonathanBrouwer
Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

danieljofficial and others added 25 commits May 4, 2026 15:45
move more compiler crates away from `box_patterns`

Part of rust-lang#156110.
Move `std::io::Cursor` to `core::io`

ACP: rust-lang/libs-team#755
Tracking issue: rust-lang#154046
Subset of: rust-lang#154684

## Description

Moves `std::io::Cursor` to `core::io`, leaving the IO trait implementations behind. They will be moved along with the traits themselves. Certain documentation links had to be amended, and a private/unstable `into_parts_mut` method was added to allow the internals to remain private.

---

## Notes

* This can be reviewed independently of the other PRs tracked in rust-lang#154046.
* No AI tooling of any kind was used during the creation of this PR.
Move `std::io::util` to `core::io`

ACP: rust-lang/libs-team#755
Tracking issue: rust-lang#154046
Subset of: rust-lang#154684

## Description

Moves utility types and functions from `std::io::util` and `std::io` to `core::io`, leaving any IO trait implementations behind. They will be moved along with the traits themselves. Certain documentation links had to be amended.

- `Chain`
- `Empty`
- `Repeat`
- `Sink`
- `Take`
- `empty`
- `repeat`
- `sink`

---

## Notes

* This can be reviewed independently of the other PRs tracked in rust-lang#154046.
* `Chain` and `Take` were previously in the main `mod.rs` file for `std::io`, but I've chosen to move them into the `util.rs` file in `core::io` instead. I think they make more sense in that file, but I'm happy to move them into `mod.rs` if that's a controversial decision.
* No AI tooling of any kind was used during the creation of this PR.
…=jieyouxu

Move tests cast

Hi, I have moved some type casting tests into the correct directory. Please find time to review
resolve: Fix a false positive "cannot reexport" error for ambiguous glob sets

Fixes rust-lang#156264.
Give an example of a Ctor in the doc-comments
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label May 12, 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-libs Relevant to the library team, which will review and decide on the PR/issue. labels May 12, 2026
@JonathanBrouwer
Copy link
Copy Markdown
Contributor Author

@bors r+ rollup=never p=1000

@rust-bors rust-bors Bot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label May 12, 2026
rust-bors Bot pushed a commit that referenced this pull request May 12, 2026
…uwer

Rollup of 6 pull requests

Successful merges:

 - #156287 (move more compiler crates away from `box_patterns` )
 - #156428 (Move `std::io::Cursor` to `core::io`)
 - #156431 (Move `std::io::util` to `core::io`)
 - #156145 (Move tests cast)
 - #156284 (resolve: Fix a false positive "cannot reexport" error for ambiguous glob sets)
 - #156502 (Give an example of a Ctor in the doc-comments)
@rust-bors

This comment has been minimized.

@rust-log-analyzer
Copy link
Copy Markdown
Collaborator

The job dist-aarch64-msvc 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 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 May 12, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 12, 2026

💔 Test for 561d401 failed: CI. Failed job:

@JonathanBrouwer
Copy link
Copy Markdown
Contributor Author

@bors retry

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

This comment has been minimized.

@JonathanBrouwer
Copy link
Copy Markdown
Contributor Author

@bors treeopen

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 12, 2026

Tree is now open for merging.

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

rust-bors Bot commented May 12, 2026

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 26m 22s
Pushing 8b03437 to main...

@rust-bors rust-bors Bot merged commit 8b03437 into rust-lang:main May 12, 2026
12 checks passed
@rustbot rustbot added this to the 1.97.0 milestone May 12, 2026
@rust-timer
Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#156145 Move tests cast 1a9259907f93c96cd517145f2a24bc307646a94d (link)
#156284 resolve: Fix a false positive "cannot reexport" error for a… 27617b55eac416ad91033ba683d531d2405dfa73 (link)
#156287 move more compiler crates away from box_patterns cbc74cec555a5e6db685273a989a6fa84c7641f1 (link)
#156428 Move std::io::Cursor to core::io 4430d4cc1b34bc39a56db66a724ce6366c42b6bb (link)
#156431 Move std::io::util to core::io 7a40b5e1fe24843267f79d76c50a0b130b4b22ea (link)
#156502 Give an example of a Ctor in the doc-comments 2950835e650f41cba8c0f20269b752dd117e093b (link)

previous master: 2aabf3ce05

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 2aabf3c (parent) -> 8b03437 (this PR)

Test differences

Show 315 test diffs

Stage 1

  • [ui] tests/ui/cast/ambiguous-raw-pointer-cast-errors.rs: [missing] -> pass (J0)
  • [ui] tests/ui/cast/as-cast-unifies-raw-pointer-and-fn-type.rs: [missing] -> pass (J0)
  • [ui] tests/ui/cast/cast-not-treated-as-lvalue.rs: [missing] -> pass (J0)
  • [ui] tests/ui/cast/cast-ptr-to-fat-ptr.rs: [missing] -> pass (J0)
  • [ui] tests/ui/cast/invalid-thin-to-fat-pointer-cast.rs: [missing] -> pass (J0)
  • [ui] tests/ui/cast/negative-integer-cast-to-pointer.rs: [missing] -> pass (J0)
  • [ui] tests/ui/cast/non-primitive-cast-self-to-dyn-index.rs: [missing] -> pass (J0)
  • [ui] tests/ui/cast/raw-pointer-from-str-comparison.rs: [missing] -> pass (J0)
  • [ui] tests/ui/imports/ambiguous-import-visibility-globglob-reexport.rs: [missing] -> pass (J0)
  • [ui] tests/ui/issues/issue-17336.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-22312.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-23699.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-30615.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-31511.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-36936.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-43291.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-45730.rs: pass -> [missing] (J0)

Stage 2

  • [ui] tests/ui/cast/ambiguous-raw-pointer-cast-errors.rs: [missing] -> pass (J1)
  • [ui] tests/ui/cast/as-cast-unifies-raw-pointer-and-fn-type.rs: [missing] -> pass (J1)
  • [ui] tests/ui/cast/cast-not-treated-as-lvalue.rs: [missing] -> pass (J1)
  • [ui] tests/ui/cast/cast-ptr-to-fat-ptr.rs: [missing] -> pass (J1)
  • [ui] tests/ui/cast/invalid-thin-to-fat-pointer-cast.rs: [missing] -> pass (J1)
  • [ui] tests/ui/cast/negative-integer-cast-to-pointer.rs: [missing] -> pass (J1)
  • [ui] tests/ui/cast/non-primitive-cast-self-to-dyn-index.rs: [missing] -> pass (J1)
  • [ui] tests/ui/cast/raw-pointer-from-str-comparison.rs: [missing] -> pass (J1)
  • [ui] tests/ui/imports/ambiguous-import-visibility-globglob-reexport.rs: [missing] -> pass (J1)
  • [ui] tests/ui/issues/issue-17336.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-22312.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-23699.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-30615.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-31511.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-36936.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-43291.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-45730.rs: pass -> [missing] (J1)

Additionally, 281 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 8b03437a8ffc8f8b01e62ef5fce82a37ada09b12 --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. aarch64-apple: 2h 34m -> 3h 18m (+28.5%)
  2. x86_64-gnu-llvm-21-2: 1h 37m -> 1h 14m (-24.4%)
  3. dist-ohos-armv7: 1h -> 1h 13m (+21.6%)
  4. x86_64-msvc-ext1: 1h 47m -> 2h 8m (+19.8%)
  5. dist-x86_64-netbsd: 1h 28m -> 1h 11m (-18.6%)
  6. aarch64-gnu: 2h 1m -> 2h 17m (+12.9%)
  7. dist-various-1: 1h 16m -> 1h 7m (-11.3%)
  8. pr-check-1: 29m 33s -> 26m 14s (-11.2%)
  9. dist-aarch64-llvm-mingw: 1h 35m -> 1h 45m (+11.0%)
  10. dist-aarch64-msvc: 1h 45m -> 1h 57m (+11.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 (8b03437): comparison URL.

Overall result: ❌✅ regressions and improvements - please read:

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

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)
1.4% [1.4%, 1.4%] 1
Regressions ❌
(secondary)
0.1% [0.0%, 0.1%] 3
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.6% [-1.0%, -0.1%] 9
All ❌✅ (primary) 1.4% [1.4%, 1.4%] 1

Max RSS (memory usage)

Results (primary -1.9%, secondary 0.8%)

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

mean range count
Regressions ❌
(primary)
2.0% [2.0%, 2.0%] 1
Regressions ❌
(secondary)
0.8% [0.8%, 0.8%] 1
Improvements ✅
(primary)
-3.9% [-6.9%, -0.9%] 2
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -1.9% [-6.9%, 2.0%] 3

Cycles

Results (primary 0.0%, secondary 2.1%)

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

mean range count
Regressions ❌
(primary)
2.7% [2.7%, 2.7%] 1
Regressions ❌
(secondary)
4.2% [3.3%, 5.6%] 3
Improvements ✅
(primary)
-2.6% [-2.6%, -2.6%] 1
Improvements ✅
(secondary)
-4.1% [-4.1%, -4.1%] 1
All ❌✅ (primary) 0.0% [-2.6%, 2.7%] 2

Binary size

Results (primary 4.1%)

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

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

Bootstrap: 510.527s -> 509.291s (-0.24%)
Artifact size: 400.06 MiB -> 398.04 MiB (-0.51%)

@rustbot rustbot added the perf-regression Performance regression. label May 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. rollup A PR which is a rollup 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.

9 participants