Skip to content
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

Rollup of 6 pull requests #136747

Merged
merged 17 commits into from
Feb 8, 2025
Merged

Rollup of 6 pull requests #136747

merged 17 commits into from
Feb 8, 2025

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Kijewski and others added 17 commits January 26, 2025 19:12
This PR lets `impl Default for Rc<str>` re-use the implementation
for `Rc::<[u8]>::default()`. The previous version only calculted the
memory layout at runtime, even though it should be known at compile
time, resulting in an additional function call.

The same optimization is done for `Rc<CStr>`.

Generated byte code: <https://godbolt.org/z/dfq73jsoP>.

Resolves <rust-lang#135784>.
This fixes failing LLVM assertions during insnsel.

Improves rust-lang#135665.
`dist-loongarch64-linux` and `dist-loongarch64-musl` seem to run out of
disk space when adding the amdgpu LLVM backend. There are changes
underway to free more disk space, but that may take a while, so it was
suggested to switch the affected jobs to a largedisk runner until that
is ready.
std: move `io` module out of `pal`, get rid of `sys_common::io`

Part of rust-lang#117276.

This does two related things:
1. It moves the platform-specific definitions for `IoSlice`, `IoSliceMut` and `is_terminal` out of `pal` and into `sys` and unifies some of them.
2. It gets rid of `sys_common::io`, moving the non-platform-specific test helpers into `std::test_helpers` and the buffer size definition to the new `sys::io` module.
…heemdev

Optimize `Rc::<str>::default()` implementation

This PR lets `impl Default for Rc<str>` re-use the implementation for `Rc::<[u8]>::default()`. The previous version only calculted the memory layout at runtime, even though it should be known at compile time, resulting in an additional function call.

The same optimization is done for `Rc<CStr>`.

Generated byte code: <https://godbolt.org/z/dfq73jsoP>.

Resolves <rust-lang#135784>.

Cc `@Billy-Sheppard.`
Generate correct terminate block under Wasm EH

This fixes failing LLVM assertions during insnsel.

Improves rust-lang#135665.

r? bjorn3

^ you reviewed the PR bringing Wasm EH in, I assume this is within your area of expertise?
…ouxu

create `initial_rustdoc` field in `Build`

just a minor improvement
…21,flip1995,WaffleLapkin

Make empty-line-after an early clippy lint

r? ```@y21```

95% a refiling of rust-lang/rust-clippy#13658 but for correctness it needed 2 extra methods in `rust_lint` which made it much easier to apply on `rust-lang/rust` than `rust-lang/rust-clippy`.

Commits have been thoroughly reviewed on `rust-lang/clippy already`. The last two review comments there (about using `Option` and popping for assoc items have been applied here.
…arcoieni

ci: Use largedisk for loongarch

`dist-loongarch64-linux` and `dist-loongarch64-musl` seem to run out of disk space when adding the amdgpu LLVM backend. There are changes underway to free more disk space, but that may take a while, so it was suggested to switch the affected jobs to a largedisk runner until that is ready.
`dist-powerpc64-linux` is another job that ran out of disk space one time, but it succeeded the other times, so I did not include it here.

amdgpu target PR with more references to the failures: rust-lang#134740

r? ```@marcoieni```
@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc O-hermit Operating System: Hermit O-SGX Target: SGX O-solid Operating System: SOLID O-unix Operating system: Unix-like O-wasi Operating system: Wasi, Webassembly System Interface O-wasm Target: WASM (WebAssembly), http://webassembly.org/ 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-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 Feb 8, 2025
@rustbot rustbot added the rollup A PR which is a rollup label Feb 8, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Contributor

bors commented Feb 8, 2025

📌 Commit 45771e4 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 Feb 8, 2025
@bors
Copy link
Contributor

bors commented Feb 8, 2025

⌛ Testing commit 45771e4 with merge 43ca9d1...

@bors
Copy link
Contributor

bors commented Feb 8, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing 43ca9d1 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Feb 8, 2025
@bors bors merged commit 43ca9d1 into rust-lang:master Feb 8, 2025
7 checks passed
@rustbot rustbot added this to the 1.86.0 milestone Feb 8, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#135696 std: move io module out of pal, get rid of `sys_common:… b17d541480bd32ba37d40743555e30ec4926416c (link)
#136099 Optimize Rc::<str>::default() implementation b20b76cbaa01b619ff7e4aa7d9bc5748db01da91 (link)
#136200 Generate correct terminate block under Wasm EH b9150f3993c35b0e38f530833f041a7d852c43e0 (link)
#136626 create initial_rustdoc field in Build 0fdb8b2644f49b85e26a94c7e9f3f3a5fcf3ba42 (link)
#136657 Make empty-line-after an early clippy lint 6cc67677407c3e48b2222152069777713a13f6eb (link)
#136679 ci: Use largedisk for loongarch 4a9c12c414aad2bf1e22148b30125c13344dd932 (link)

previous master: 73bf7947e9

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

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (43ca9d1): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results (secondary 0.8%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.4% [2.2%, 2.5%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.2% [-2.2%, -2.2%] 1
All ❌✅ (primary) - - 0

Cycles

Results (secondary -5.5%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

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

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 779.565s -> 780.488s (0.12%)
Artifact size: 329.13 MiB -> 329.04 MiB (-0.03%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. O-hermit Operating System: Hermit O-SGX Target: SGX O-solid Operating System: SOLID O-unix Operating system: Unix-like O-wasi Operating system: Wasi, Webassembly System Interface O-wasm Target: WASM (WebAssembly), http://webassembly.org/ 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-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.