Skip to content

Conversation

@matthiaskrgr
Copy link
Member

@matthiaskrgr matthiaskrgr commented Nov 17, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

mkroening and others added 9 commits November 17, 2025 17:23
…heemdev

std: move `kernel_copy` to `sys`

Part of rust-lang#117276.

The current organisation of the `kernel_copy` mechanism used to specialise `io::copy` on Linux necessitated circular links between the `io::copy` module and the implementation in `sys::pal::unix::kernel_copy`, as well as presenting an exception to the tidy PAL rule that forbids OS-based `#[cfg]`s outside of `sys` and `os`.

This PR fixes this by moving `kernel_copy` to `sys` (as per rust-lang#117276) and returning a `CopyState` from that function specifying whether `io::copy` should use its fallback. The `kernel_copy` function on other platforms just unconditionally returns `CopyState::Fallback`.
…nts, r=RalfJung

doc: fix `strict_provenance_lints` tracking issue link

This PR is a follow-up on rust-lang@56ee492 and fixes the link to the `strict_provenance_lints` tracking issue.

I am not sure whether we should touch this line too:

https://github.com/rust-lang/rust/blob/66bc5a43e55eae14a2ec70b11004c88072fe7f02/compiler/rustc_lint_defs/src/builtin.rs#L2537

r? `@RalfJung`
Update books

## rust-lang/book

61 commits in f660f341887c8bbcd6c24fbfdf5d2a262f523965..f78ab89d7545ac17780e6a367055cc089f4cd2ec
2025-11-10 03:30:48 UTC to 2025-01-22 16:19:58 UTC

- Merge 3rd ed to main (rust-lang/book#4567)
- Fix typo in section 17.2 (rust-lang/book#4456)
- Chapter 19 from tech review (rust-lang/book#4446)
- Chapter 18 from tech review (rust-lang/book#4445)
- Chapter 16 from tech review (rust-lang/book#4438)
- WIP ch 17 edits after tech review (rust-lang/book#4319)
- Chapter 15 from tech review (rust-lang/book#4433)
- Chapter 14 from tech review (rust-lang/book#4423)
- Chapter 13 from tech review (rust-lang/book#4421)
- Chapter 12 from tech review (rust-lang/book#4410)
- Chapter 11 from tech review (rust-lang/book#4391)
- Chapter 10 from tech review (rust-lang/book#4379)
- Chapter 9 from tech review (rust-lang/book#4377)
- Chapter 8 from tech review (rust-lang/book#4378)
- Chapter 7 from tech review (rust-lang/book#4374)
- Chapter 6 from tech review (rust-lang/book#4370)
- Chapter 5 from tech review (rust-lang/book#4359)
- Chapter 4 from tech review (rust-lang/book#4358)
- Chapter 3 from tech review (rust-lang/book#4353)
- Ch01+ch02 after tech review (rust-lang/book#4329)
- Ch. 21: call out Chrome multiple-connections issue (rust-lang/book#4297)
- Ch. 16: refactor 16-6 to using listing component (rust-lang/book#4295)
- Ch. 01: Show how to work offline (rust-lang/book#4294)
- Ch. 07: Clarify sentences about `pub use` (rust-lang/book#4293)
- Ch. 02: Consistent ordering of `use` statements (rust-lang/book#4292)
- Anchors on listings (rust-lang/book#4271)
- Ch. 17: another tweak to how we phrase things about sections (rust-lang/book#4288)
- Ch. 20: correct listing number (rust-lang/book#4287)
- Ch. 10.3: clarify language detail (rust-lang/book#4284)
- Ch. 17: minor typos and link reference (rust-lang/book#4286)
- Ch. 9: correctly demonstrate privacy with module (rust-lang/book#4282)
- Ch. 18: correct discussion of delegation in `Post` methods (rust-lang/book#4281)
- Ch. 20: tell folks to see the Reference for more ABI info (rust-lang/book#4165)
- Ch 10.1 minor clarifications (rust-lang/book#4256)
- Clarified the misunderstanding b/w crates, module, items (rust-lang/book#4232)
- Ferris: always show, even when it’s small (rust-lang/book#4280)
- Ch. 17: mention `use std::pin::{Pin, pin};` on introduction (rust-lang/book#4279)
- Persist printing error, NOT ErrorKind (rust-lang/book#4259)
- Typo: "2" should be "2 seconds" (rust-lang/book#4263)
- Ch. 17: fix tiny example consistency issue (rust-lang/book#4270)
- Bump ring from 0.17.8 to 0.17.13 in /listings/ch17-async-await/listing-17-02 (rust-lang/book#4261)
- Bump ring from 0.17.8 to 0.17.14 in /packages/trpl (rust-lang/book#4273)
- 2024 Print Edition: updates to Word docs and more fixes to Markdown text (rust-lang/book#4272)
- Ch. 10: Make social media discussion generic. (rust-lang/book#4249)
- Another Ch. 17 -> 18 fix (rust-lang/book#4247)
- Ch. 05: further tweak to wording about `user1` availability (rust-lang/book#4246)
- Ch. 02: Fix rand version mistake (from testing) (rust-lang/book#4245)
- Ch. 19: Correct the discussion of `fn` type and closures (rust-lang/book#4244)
- Edition maintenance: scripting the updates for future work (rust-lang/book#4243)
- Ch. 17: fresh-eyes edits (rust-lang/book#4242)
- Ch. 17: drop lifetime not required in 2024 Edition (rust-lang/book#4212)
- Appendix B, Operators: Replace “member access” with “field access” and “method call”. (rust-lang/book#4240)
- Update to Rust 1.85 and 2024 Edition! (rust-lang/book#4241)
- Chapter 1: fix 'four things' now that spacing is not emphasized (rust-lang/book#4239)
- Fix typos in chapter 17 (rust-lang/book#4238)
- NoStarch backports (rust-lang/book#4224)
- Fix example for `cargo fix` (rust-lang/book#4226)
- Add missing word in ch17-04-streams.md (rust-lang/book#4218)
- Fix typo in ch5.3 and in CONTRIBUTING.md (rust-lang/book#4216)
- chore: reformat src with dprint (rust-lang/book#4211)
- Redirects: get rid of the weird gap in Ch. 20 sections! (rust-lang/book#4209)

## rust-lang/edition-guide

1 commits in 5c621253d8f2a5a4adb64a6365905db67dffe3a2..9cf5443d632673c4d41edad5e8ed8be86eeb3b8f
2025-11-15 21:51:11 UTC to 2025-11-15 21:51:11 UTC

- Link to 1.56.0 and 1.85.0 blog posts (rust-lang/edition-guide#380)

## rust-lang/nomicon

4 commits in 60f0b30d8ec1c9eb5c2582f2ec55f1094b0f8c42..0fe83ab28985b99aba36a1f0dbde3e08286fefda
2025-11-15 00:03:14 UTC to 2025-11-05 20:56:09 UTC

- Fix grammar in ffi.md (rust-lang/nomicon#510)
- Add CITATION.cff (rust-lang/nomicon#507)
- Use the newest Layout::array size checks for vec-alloc (rust-lang/nomicon#508)
- review comment: dropck analysis is *not* trivial (rust-lang/nomicon#498)

## rust-lang/reference

6 commits in e122eefff3fef362eb7e0c08fb7ffbf5f9461905..f9f1d2a4149f02582aec2f8fcdfa5b596193b4e2
2025-11-16 15:23:27 UTC to 2025-11-09 15:04:53 UTC

- add 'system' to variadic ABIs (rust-lang/reference#2069)
- Guarantee the binary representation of `isize` explicitly (rust-lang/reference#2064)
- Update `no_implicit_prelude` to use the attribute template (rust-lang/reference#1914)
- Update `no_std` to use the attribute template (rust-lang/reference#1913)
- const_eval.md: be more clear where link leads to (rust-lang/reference#2083)
- specify s390x target features (rust-lang/reference#1972)

## rust-lang/rust-by-example

1 commits in 160e6bbca70b0c01aa4de88d19db7fc5ff8447c3..f944161716230641605b5e3733e1c81f10047fd4
2025-11-05 12:46:38 UTC to 2025-11-05 12:46:38 UTC

- Revise `Path` type documentation for clarity (rust-lang/rust-by-example#1972)
@rustbot rustbot added A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-tidy Area: The tidy tool O-unix Operating system: Unix-like 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-libs Relevant to the library team, which will review and decide on the PR/issue. T-rust-analyzer Relevant to the rust-analyzer team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Nov 17, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Nov 17, 2025

📌 Commit d810867 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 Nov 17, 2025
@bors
Copy link
Collaborator

bors commented Nov 17, 2025

⌛ Testing commit d810867 with merge fb505a7...

@bors
Copy link
Collaborator

bors commented Nov 18, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing fb505a7 to main...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Nov 18, 2025
@bors bors merged commit fb505a7 into rust-lang:main Nov 18, 2025
12 checks passed
@rustbot rustbot added this to the 1.93.0 milestone Nov 18, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#147077 std: move kernel_copy to sys b94d0f6caebae05c2eb23098d734c3b5c6f83165 (link)
#149030 doc: fix strict_provenance_lints tracking issue link d2099190d2ccc15517669c10e01458e85804b8d0 (link)
#149031 Update books 225c55e21337ed887a6d13bdca0dec3fb65e9331 (link)
#149034 update my email in mailmap 6d1f292b373e024b4cf523cae7ac1820d5a7f619 (link)

previous master: 0df64c5784

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
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 0df64c5 (parent) -> fb505a7 (this PR)

Test differences

Show 34 test diffs

Stage 1

  • sys::io::kernel_copy::linux::tests::bench_file_to_file_copy: [missing] -> pass (J1)
  • sys::io::kernel_copy::linux::tests::bench_file_to_socket_copy: [missing] -> pass (J1)
  • sys::io::kernel_copy::linux::tests::bench_file_to_uds_copy: [missing] -> pass (J1)
  • sys::io::kernel_copy::linux::tests::bench_socket_pipe_socket_copy: [missing] -> pass (J1)
  • sys::io::kernel_copy::linux::tests::copies_append_mode_sink: [missing] -> pass (J1)
  • sys::io::kernel_copy::linux::tests::copy_specialization: [missing] -> pass (J1)
  • sys::io::kernel_copy::linux::tests::dont_splice_pipes_from_files: [missing] -> pass (J1)
  • sys::pal::unix::kernel_copy::tests::bench_file_to_file_copy: pass -> [missing] (J1)
  • sys::pal::unix::kernel_copy::tests::bench_file_to_socket_copy: pass -> [missing] (J1)
  • sys::pal::unix::kernel_copy::tests::bench_file_to_uds_copy: pass -> [missing] (J1)
  • sys::pal::unix::kernel_copy::tests::bench_socket_pipe_socket_copy: pass -> [missing] (J1)
  • sys::pal::unix::kernel_copy::tests::copies_append_mode_sink: pass -> [missing] (J1)
  • sys::pal::unix::kernel_copy::tests::copy_specialization: pass -> [missing] (J1)
  • sys::pal::unix::kernel_copy::tests::dont_splice_pipes_from_files: pass -> [missing] (J1)

Stage 2

  • sys::io::kernel_copy::linux::tests::bench_file_to_file_copy: [missing] -> pass (J0)
  • sys::io::kernel_copy::linux::tests::bench_file_to_socket_copy: [missing] -> pass (J0)
  • sys::io::kernel_copy::linux::tests::bench_file_to_uds_copy: [missing] -> pass (J0)
  • sys::io::kernel_copy::linux::tests::bench_socket_pipe_socket_copy: [missing] -> pass (J0)
  • sys::io::kernel_copy::linux::tests::copies_append_mode_sink: [missing] -> pass (J0)
  • sys::io::kernel_copy::linux::tests::copy_specialization: [missing] -> pass (J0)
  • sys::io::kernel_copy::linux::tests::dont_splice_pipes_from_files: [missing] -> pass (J0)
  • sys::pal::unix::kernel_copy::tests::bench_file_to_file_copy: pass -> [missing] (J0)
  • sys::pal::unix::kernel_copy::tests::bench_file_to_socket_copy: pass -> [missing] (J0)
  • sys::pal::unix::kernel_copy::tests::bench_file_to_uds_copy: pass -> [missing] (J0)
  • sys::pal::unix::kernel_copy::tests::bench_socket_pipe_socket_copy: pass -> [missing] (J0)
  • sys::pal::unix::kernel_copy::tests::copies_append_mode_sink: pass -> [missing] (J0)
  • sys::pal::unix::kernel_copy::tests::copy_specialization: pass -> [missing] (J0)
  • sys::pal::unix::kernel_copy::tests::dont_splice_pipes_from_files: pass -> [missing] (J0)

Additionally, 6 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 fb505a798514a40569441110b44444d20a8bdb16 --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: 9224.3s -> 6413.8s (-30.5%)
  2. dist-aarch64-apple: 5410.0s -> 6786.2s (+25.4%)
  3. dist-aarch64-msvc: 6532.8s -> 5543.0s (-15.2%)
  4. x86_64-rust-for-linux: 2905.2s -> 2479.3s (-14.7%)
  5. pr-check-1: 1893.8s -> 1680.2s (-11.3%)
  6. dist-apple-various: 4556.7s -> 4072.1s (-10.6%)
  7. x86_64-gnu-llvm-20: 2679.6s -> 2399.1s (-10.5%)
  8. dist-arm-linux-gnueabi: 4615.7s -> 5096.2s (+10.4%)
  9. aarch64-gnu-llvm-20-1: 3786.2s -> 3406.1s (-10.0%)
  10. x86_64-gnu: 7432.8s -> 6720.9s (-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.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (fb505a7): comparison URL.

Overall result: ❌ regressions - 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.5% [0.1%, 0.9%] 4
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -5.0%)

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

Cycles

Results (secondary 3.8%)

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.8% [3.7%, 4.0%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Binary size

Results (primary 0.0%)

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

mean range count
Regressions ❌
(primary)
0.1% [0.1%, 0.1%] 3
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.1% [-0.1%, -0.1%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.0% [-0.1%, 0.1%] 4

Bootstrap: 475.971s -> 475.249s (-0.15%)
Artifact size: 388.69 MiB -> 388.68 MiB (-0.00%)

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

Labels

A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-tidy Area: The tidy tool merged-by-bors This PR was explicitly merged by bors. O-unix Operating system: Unix-like 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-libs Relevant to the library team, which will review and decide on the PR/issue. T-rust-analyzer Relevant to the rust-analyzer team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants