Skip to content

Rollup of 9 pull requests - #157372

Closed
JonathanBrouwer wants to merge 26 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-T5PX0dg
Closed

Rollup of 9 pull requests#157372
JonathanBrouwer wants to merge 26 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-T5PX0dg

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

Failed merges:

r? @ghost

Create a similar rollup

P8L1and others added 26 commits May 17, 2026 21:06
We already have a vector of `CoroutineSavedTy`, no need to have a separate
one just for debuginfo.
Avoid complicated loops just for an optimization.
`coroutine.rs` was getting too large, and mixing MIR analyses for trait
solving and runtime transformations.
This was necessary when transitioning from JS to wasm exception handling
on Emscripten. Enough time has probably passed that we no longer need to
support JS exception handling on Emscripten. This enables cleaning up a
fair bit of code.
this removes the panic path when dividing by the frequency.
this also makes calls to Instant::now() faster.
…=petrochenkov
Promotes 5 Thumb-mode bare-metal Arm targets to Tier 2
This PR promotes five Thumb-mode bare-metal Arm targets to Tier 2, joining their Arm-mode counterparts which are already Tier 2:
| Thumb-mode target (Tier 3 → Tier 2) | Arm-mode counterpart (already Tier 2) |
|:---|:---|
| `thumbv7a-none-eabi` | `armv7a-none-eabi` |
| `thumbv7a-none-eabihf` | `armv7a-none-eabihf` |
| `thumbv7r-none-eabi` | `armv7r-none-eabi` |
| `thumbv7r-none-eabihf` | `armv7r-none-eabihf` |
| `thumbv8r-none-eabihf` | `armv8r-none-eabihf` |
Note: There is no `thumbv8r-none-eabi` target because the Cortex-R52 processor always includes an FPU, making a soft-float ABI variant unnecessary.
These Thumb-mode targets generate T32 code by default while their Arm-mode counterparts generate A32 code. They share the same LLVM backend, ABI, and data layout — the only spec differences are the `llvm_target` string and the description.
See rust-lang/compiler-team#985
…erns, r=Kivooeo
Fix unused_parens for pinned reference patterns
The unused_parens lint previously treated pinned shared-reference patterns like plain shared-reference patterns when deciding whether removing parentheses could change the meaning of a leading `mut` binding.
That was too conservative for pinned reference patterns such as `&pin const (mut x)`. The `pin const` part belongs to the outer reference pattern, so removing the inner parentheses still leaves `mut x` as the subpattern.
This updates the ambiguity check so the leading-`mut` suppression only applies to plain shared reference patterns. Pinned reference patterns can now receive correct rustfix suggestions.
The patch also broadens the binding check from only plain `mut` bindings to all binding modes whose binding mutability is `Mutability::Mut`, covering forms such as `mut ref pin const`.
@rustbot label F-pin_ergonomics
…r=TaKO8Ki
Remove -Zemscripten-wasm-eh
This was necessary when transitioning from JS to wasm exception handling on Emscripten. Enough time has probably passed that we no longer need to support JS exception handling on Emscripten. This enables cleaning up a fair bit of code.
This is the final step of rust-lang#112195.
…xyUwU
Const generics: remove AliasTerm::kind(), and small fixes
When implementing rust-lang#157094 there were a few things I stumbled upon that I fixed, that were technically unrelated, and because that PR was already getting so big, I split the silly nitpick fixups into another PR (this PR).
- first commit: `cx.alias_term_kind_from_def_id(goal.predicate.def_id())` can be written as just `goal.predicate.alias.kind`, without a query. doh.
- second commit: remove `AliasTerm::kind()` (instead accessing the field `AliasTerm::kind` directly)
- this also removes the interner parameter from `AliasTerm::expect_ct`/`AliasTerm::expect_ty`, yippee
r? @BoxyUwU
…=oli-obk
Split coroutine layout computation to its own file
`coroutine.rs` is getting too large, and mixes MIR analyses for trait solving and runtime transformations.
…eyouxu
Add more tests for the `optimize` attribute
Tracking issue: rust-lang#54882
Stabilization PR: rust-lang#157273
…ChrisDenton
windows: Elide division-by-zero checks in Instant::now()
This PR teaches LLVM that the frequency of the performance counter is non null so it is able to remove division by zero checks.
This removes the panic path in `mul_div_u64` and should make calls to `Instant::now()` (very slightly) faster.
As seen in the assembly (see godbolt below), telling LLVM that the frequency is non zero suffices to get the optimization, but I don't know if it could be a great idea to also update the signature of `mul_div_u64`?
MSDN page for [QueryPerformanceFrequency](https://learn.microsoft.com/en-us/windows/win32/api/profileapi/nf-profileapi-queryperformancefrequency):
> On systems that run Windows XP or later, the function will always succeed when given valid parameters and will thus never return zero.
Godbolt: https://rust.godbolt.org/z/xr6x8MrPE
…lt, r=JonathanBrouwer
Enable `clippy::mem_replace_with_default`
Enables `clippy::mem_replace_with_default` and fixes the errors that occur as a result.
Closesrust-lang#157245.
@rust-borsrust-borsBot added the rollup A PR which is a rollup label Jun 3, 2026
@rustbotrustbot added A-CI Area: Our Github Actions CI A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-testsuite Area: The testsuite used to check the correctness of rustc labels Jun 3, 2026
@rustbotrustbot added 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-clippy Relevant to the Clippy team. 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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Jun 3, 2026
@JonathanBrouwer

Copy link
Copy Markdown
MemberAuthor

@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

@rustbotrustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 3, 2026
@rust-bors

rust-borsBot commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

📋 Only open, non-draft PRs can be approved.

@rust-bors

This comment has been minimized.

rust-borsBot pushed a commit that referenced this pull request Jun 3, 2026
Rollup of 9 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

rust-borsBot commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 20ca662 (20ca662cf541741bfb0f0209cb1f72bcbb1e0039, parent: 53509ca37e3b507887607c2f4a7f23bd4838f099)

@JonathanBrouwer
JonathanBrouwer deleted the rollup-T5PX0dg branch August 21, 2026 08:17
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CIArea: Our Github Actions CIA-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.A-testsuiteArea: The testsuite used to check the correctness of rustcO-windowsOperating system: WindowsrollupA PR which is a rollupT-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)T-clippyRelevant to the Clippy team.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-infraRelevant to the infrastructure team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.WG-trait-system-refactorThe Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

11 participants

@JonathanBrouwer@rustbot@P8L1@zedddie@khyperia@cjgillot@cezarbbb@bjorn3@JarlEvanson@mathisbot@veluca93