Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Rollup of 6 pull requests #145916

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
bors merged 14 commits into rust-lang:master from matthiaskrgr:rollup-cnvhq2z
Aug 27, 2025
Merged

Rollup of 6 pull requests #145916

bors merged 14 commits into rust-lang:master from matthiaskrgr:rollup-cnvhq2z
Aug 27, 2025

Conversation

Copy link
Member

@matthiaskrgr matthiaskrgr commented Aug 27, 2025
edited by rustbot
Loading

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Manishearth and others added 14 commits July 2, 2025 13:15
...ier 2
It is not shipped with host tools, so it was located in the wrong group.
Call out early that the results returned can differ across calls /
aren't deterministic. This was already mentioned at the bottom of
examples, but I think it's worth calling out early, since this caused at
least one person (me!) great confusion.
[ Added a comma to the docs, reflowed commit message - Trevor ]
...illot
Use -Zmir-opt-level=0 in tests for MIR building
The mir-opt test suite currently defaults all tests in it to `-Zmir-opt-level=4`, so if a test is trying to test MIR _building_ not optimizations and it is in that directory, it _must_ override the default mir-opt-level.
...t, r=samueltardieu
Mention that casting to *const () is a way to roundtrip with from_raw_parts
See discussion on rust-lang#81513 
...tardieu
Fix wrong cache line size of riscv64
see https://go-review.googlesource.com/c/go/+/526659, All of riscv CPU using 64B for cache-line size.
Improve std::fs::read_dir docs
Call out early that the results returned can differ across calls / aren't deterministic. This was already mentioned at the bottom of examples, but I think it's worth calling out early, since this caused at least one person (me!) great confusion.
...k-Simulacrum
Move WTF-8 code from std into core and alloc
This is basically a small portion of rust-lang#129411 with a smaller scope. It *does not*\* affect any public APIs; this code is still internal to the standard library. It just moves the WTF-8 code into `core` and `alloc` so it can be accessed by `no_std` crates like `backtrace`.
> \* The only public API this affects is by adding a `Debug` implementation to `std::os::windows::ffi::EncodeWide`, which was not present before. This is due to the fact that `core` requires `Debug` implementations for all types, but `std` does not (yet) require this. Even though this was ultimately changed to be a wrapper over the original type, not a re-export, I decided to keep the `Debug` implementation so it remains useful.
Like we do with ordinary strings, the tests are still located entirely in `alloc`, rather than splitting them into `core` and `alloc`.
----
Reviewer note: for ease of review, this is split into three commits:
1. Moving the original files into their new "locations"
2. Actually modifying the code to compile.
3. Removing aesthetic changes that were made so that the diff for commit 2 was readable.
You can review commits 1 and 3 to verify these claims, but commit 2 contains the majority of the changes you should care about.
----
API changes: `impl Debug for std::os::windows::ffi::EncodeWide`
..., r=jieyouxu
Move `riscv64-gc-unknown-linux-musl` from Tier 2 with Host tools to Tier 2
It is not shipped with host tools, so it was located in the wrong group. The musl target is [here](https://github.com/rust-lang/rust/blob/467c89cd0b1c579edc247808c35941677918d29d/src/ci/docker/host-x86_64/dist-various-2/Dockerfile#L126) - no host tools.
Noticed in rust-lang/docker-rust#247.
@rustbot rustbot added A-tidy Area: The tidy tool O-windows Operating system: Windows 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. rollup A PR which is a rollup labels Aug 27, 2025
Copy link
Member Author

@bors r+ rollup=never p=5

Copy link
Collaborator

bors commented Aug 27, 2025

📌 Commit 5fdc840 has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors bors 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 Aug 27, 2025
Copy link
Collaborator

bors commented Aug 27, 2025

⌛ Testing commit 5fdc840 with merge 4f808ba...

Copy link
Collaborator

bors commented Aug 27, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing 4f808ba to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Aug 27, 2025
@bors bors merged commit 4f808ba into rust-lang:master Aug 27, 2025
11 checks passed
@rustbot rustbot added this to the 1.91.0 milestone Aug 27, 2025
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#142215 Use -Zmir-opt-level=0 in tests for MIR building 3c04bde41df92af71ba652234b0180e77cfbd48d (link)
#143341 Mention that casting to *const () is a way to roundtrip wit... 16b1793df6583cd847c6127cc25823ffe93fec18 (link)
#145078 Fix wrong cache line size of riscv64 75b0b979e5b1034c4d13d511079f2d5b8baf243f (link)
#145290 Improve std::fs::read_dir docs 6321d7d2fb6ab208d9cf0b249196ca39def6eff2 (link)
#145335 Move WTF-8 code from std into core and alloc 64fd961eb45bc91178ab1bd98267bd73f09d5745 (link)
#145904 Move riscv64-gc-unknown-linux-musl from Tier 2 with Host ... 513b587cb576d8f1609f2eda3bc621085b39fdb1 (link)

previous master: 269d5b56bc

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

Copy link
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 269d5b5 (parent) -> 4f808ba (this PR)

Test differences

Show 136 test diffs

Stage 1

  • sys_common::wtf8::tests::code_point_from_char: pass -> [missing] (J0)
  • sys_common::wtf8::tests::code_point_from_u32: pass -> [missing] (J0)
  • sys_common::wtf8::tests::code_point_to_char: pass -> [missing] (J0)
  • sys_common::wtf8::tests::code_point_to_char_lossy: pass -> [missing] (J0)
  • sys_common::wtf8::tests::code_point_to_lead_surrogate: pass -> [missing] (J0)
  • sys_common::wtf8::tests::code_point_to_string: pass -> [missing] (J0)
  • sys_common::wtf8::tests::code_point_to_trail_surrogate: pass -> [missing] (J0)
  • sys_common::wtf8::tests::code_point_to_u32: pass -> [missing] (J0)
  • sys_common::wtf8::tests::unwobbly_wtf8_plus_utf8_is_utf8: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wobbled_wtf8_plus_str_isnt_utf8: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_as_str: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_ascii_byte_at: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_code_points: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_encode_wide: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_encode_wide_size_hint: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_from_str: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_len: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_make_ascii_lowercase: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_make_ascii_uppercase: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_slice_from: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_slice_from_not_code_point_boundary: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_slice_not_code_point_boundary: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_slice_to: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_slice_to_not_code_point_boundary: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_to_ascii_lowercase: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_to_ascii_uppercase: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_to_owned: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_to_string_lossy: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_utf8_boundary_between_surrogates: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_utf8_boundary_inside_codepoint: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_utf8_boundary_out_of_bounds: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8_valid_utf8_boundaries: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8buf_as_slice: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8buf_extend: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8buf_from_iterator: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8buf_from_str: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8buf_from_string: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8buf_from_wide: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8buf_into_string_lossy: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8buf_new: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8buf_push: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8buf_push_str: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8buf_push_wtf8: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8buf_show: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8buf_truncate: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8buf_truncate_around_non_bmp: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8buf_truncate_fail_code_point_boundary: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8buf_truncate_fail_longer: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8buf_truncate_splitting_non_bmp1: pass -> [missing] (J0)
  • sys_common::wtf8::tests::wtf8buf_truncate_splitting_non_bmp3: pass -> [missing] (J0)
  • wtf8::tests::code_point_from_char: [missing] -> pass (J1)
  • wtf8::tests::code_point_from_u32: [missing] -> pass (J1)
  • wtf8::tests::code_point_to_char: [missing] -> pass (J1)
  • wtf8::tests::code_point_to_char_lossy: [missing] -> pass (J1)
  • wtf8::tests::code_point_to_string: [missing] -> pass (J1)
  • wtf8::tests::code_point_to_trail_surrogate: [missing] -> pass (J1)
  • wtf8::tests::code_point_to_u32: [missing] -> pass (J1)
  • wtf8::tests::unwobbly_wtf8_plus_utf8_is_utf8: [missing] -> pass (J1)
  • wtf8::tests::wobbled_wtf8_plus_bytes_isnt_utf8: [missing] -> pass (J1)
  • wtf8::tests::wobbled_wtf8_plus_str_isnt_utf8: [missing] -> pass (J1)
  • wtf8::tests::wtf8_ascii_byte_at: [missing] -> pass (J1)
  • wtf8::tests::wtf8_clone_into: [missing] -> pass (J1)
  • wtf8::tests::wtf8_display: [missing] -> pass (J1)
  • wtf8::tests::wtf8_encode_wide: [missing] -> pass (J1)
  • wtf8::tests::wtf8_encode_wide_size_hint: [missing] -> pass (J1)
  • wtf8::tests::wtf8_from_str: [missing] -> pass (J1)
  • wtf8::tests::wtf8_len: [missing] -> pass (J1)
  • wtf8::tests::wtf8_make_ascii_lowercase: [missing] -> pass (J1)
  • wtf8::tests::wtf8_make_ascii_uppercase: [missing] -> pass (J1)
  • wtf8::tests::wtf8_slice: [missing] -> pass (J1)
  • wtf8::tests::wtf8_slice_from: [missing] -> pass (J1)
  • wtf8::tests::wtf8_slice_from_not_code_point_boundary: [missing] -> pass (J1)
  • wtf8::tests::wtf8_slice_not_code_point_boundary: [missing] -> pass (J1)
  • wtf8::tests::wtf8_slice_to: [missing] -> pass (J1)
  • wtf8::tests::wtf8_slice_to_not_code_point_boundary: [missing] -> pass (J1)
  • wtf8::tests::wtf8_to_owned: [missing] -> pass (J1)
  • wtf8::tests::wtf8_to_string_lossy: [missing] -> pass (J1)
  • wtf8::tests::wtf8_utf8_boundary_between_surrogates: [missing] -> pass (J1)
  • wtf8::tests::wtf8_utf8_boundary_inside_codepoint: [missing] -> pass (J1)
  • wtf8::tests::wtf8_utf8_boundary_inside_surrogate: [missing] -> pass (J1)
  • wtf8::tests::wtf8_utf8_boundary_out_of_bounds: [missing] -> pass (J1)
  • wtf8::tests::wtf8buf_as_slice: [missing] -> pass (J1)
  • wtf8::tests::wtf8buf_extend: [missing] -> pass (J1)
  • wtf8::tests::wtf8buf_from_iterator: [missing] -> pass (J1)
  • wtf8::tests::wtf8buf_from_str: [missing] -> pass (J1)
  • wtf8::tests::wtf8buf_from_string: [missing] -> pass (J1)
  • wtf8::tests::wtf8buf_from_wide: [missing] -> pass (J1)
  • wtf8::tests::wtf8buf_into_string: [missing] -> pass (J1)
  • wtf8::tests::wtf8buf_into_string_lossy: [missing] -> pass (J1)
  • wtf8::tests::wtf8buf_new: [missing] -> pass (J1)
  • wtf8::tests::wtf8buf_push: [missing] -> pass (J1)
  • wtf8::tests::wtf8buf_push_char: [missing] -> pass (J1)
  • wtf8::tests::wtf8buf_push_str: [missing] -> pass (J1)
  • wtf8::tests::wtf8buf_push_wtf8: [missing] -> pass (J1)
  • wtf8::tests::wtf8buf_show_str: [missing] -> pass (J1)
  • wtf8::tests::wtf8buf_truncate_around_non_bmp: [missing] -> pass (J1)
  • wtf8::tests::wtf8buf_truncate_fail_code_point_boundary: [missing] -> pass (J1)
  • wtf8::tests::wtf8buf_truncate_fail_longer: [missing] -> pass (J1)
  • wtf8::tests::wtf8buf_truncate_splitting_non_bmp2: [missing] -> pass (J1)
  • wtf8::tests::wtf8buf_truncate_splitting_non_bmp3: [missing] -> pass (J1)

(and 16 additional test diffs)

Additionally, 20 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 4f808ba6bf9f1c8dde30d009e73386d984491587 --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-aarch64-apple: 5794.4s -> 7951.7s (37.2%)
  2. aarch64-apple: 5139.6s -> 6291.0s (22.4%)
  3. x86_64-gnu-llvm-19-1: 3765.8s -> 3151.8s (-16.3%)
  4. x86_64-gnu-llvm-19: 2869.2s -> 2458.6s (-14.3%)
  5. x86_64-gnu-tools: 3851.3s -> 3353.1s (-12.9%)
  6. dist-aarch64-msvc: 6354.8s -> 5557.9s (-12.5%)
  7. aarch64-gnu-llvm-19-1: 3780.8s -> 3341.5s (-11.6%)
  8. test-various: 5184.0s -> 4664.6s (-10.0%)
  9. dist-ohos-aarch64: 4118.2s -> 4522.0s (9.8%)
  10. i686-gnu-1: 8427.9s -> 7617.0s (-9.6%)
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.

Copy link
Collaborator

Finished benchmarking commit (4f808ba): 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.3% [0.3%, 0.3%] 1
Improvements ✅
(primary)
-0.2% [-0.2%, -0.2%] 1
Improvements ✅
(secondary)
-2.7% [-2.9%, -2.5%] 6
All ❌✅ (primary) -0.2% [-0.2%, -0.2%] 1

Max RSS (memory usage)

Results (primary -0.4%, secondary -2.8%)

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

mean range count
Regressions ❌
(primary)
1.0% [1.0%, 1.0%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-1.7% [-1.7%, -1.7%] 1
Improvements ✅
(secondary)
-2.8% [-2.8%, -2.8%] 1
All ❌✅ (primary) -0.4% [-1.7%, 1.0%] 2

Cycles

Results (secondary 2.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)
2.6% [2.6%, 2.6%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Binary size

Results (primary 0.3%, secondary 0.3%)

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

mean range count
Regressions ❌
(primary)
0.3% [0.0%, 0.6%] 16
Regressions ❌
(secondary)
0.3% [0.0%, 0.6%] 79
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.3% [0.0%, 0.6%] 16

Bootstrap: 466.752s -> 467.222s (0.10%)
Artifact size: 391.24 MiB -> 391.17 MiB (-0.02%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Reviewers
No reviews
Assignees
No one assigned
Labels
A-tidy Area: The tidy tool merged-by-bors This PR was explicitly merged by bors. O-windows Operating system: Windows 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.
Projects
None yet
Milestone
1.91.0
Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /