Skip to content

Rollup of 25 pull requests - #161383

Closed
JonathanBrouwer wants to merge 74 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-r8wnxwB
Closed

Rollup of 25 pull requests#161383
JonathanBrouwer wants to merge 74 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-r8wnxwB

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

mejrs and others added 30 commits August 5, 2026 19:09
This patch implements Rust's equivalent of Clang's function pointer type
discriminator computation used in pointer authentication. Compatibility
with Clang is a primary goal. The discriminator produced for a given
external "C" function type must match the value computed by Clang so
that function pointers can be exchanged safely between Rust and C code
while preserving pointer authentication semantics.

The implementation mirrors Clang's behavior in
`ASTContext::encodeTypeForFunctionPointerAuth`, ensuring that identical
C-compatible function types produce identical discriminators. See:
<https://clang.llvm.org/doxygen/ASTContext_8cpp.html#abb1375e068e807917527842d05cadea3>.
atomic volatile: add intrinsics

Extend the atomic load/store intrinsics to also support volatile atomic load/store.
Tracking issue: rust-lang#158947.
Library APIs that use these intrinsics will be added inn a future PR.

The GCC and cranelift implementations ignore the volatile flag, not sure how that should be implemented for them.
To `QuerySystem`, next to `query_vtables`. It's a better spot for it.
`MCOptions` is the name of the variable commonly used for instances of
`MCTargetOptions`. Use the proper type name instead.
…=davidtwco

remove unwrap from write_mir_fn_graphviz
Enhance EII UI tests

The first commit enabled all EII tests on Windows MSVC. Two other PRs were merged almost simultaneously with my previous PR and they kept `ignore-windows` instead of `ignore-windows-gnu`.

The second commit normalized EII dylib test coverage. Previously, there were only two dedicated negative tests and some auxiliary crates that had `no-prefer-dynamic` removed but whose `crate_type` was still `rlib` were accidentally compiled into `dylib`s and thus were tested unintentionally.

This is now normalized: some tests will be tested under two revisions: `rlib` and `dylib` or `dylib-impl` (declaration in `rlib` & implementation in `dylib`).

Note that `call_default_panics.run.stderr` is not updated; the file appears to be invalid, and I am unsure how to update this check.
…dtwco

fix arm homogeneous aggregate ABI

This started with abi-cafe finding a mismatch between rustc and clang/gcc, but turned into quite the rabbit hole of bits of ABI that were never implemented. The code is effectively ported from LLVM, and abi-cafe is happy now.

The bug I hit was that aligned structs were passed incorrectly:

https://godbolt.org/z/jErPoPrv5

The assertions for watchOS are best-effort, I can't actually run that. But, it's tier 3, it was already broken, so at worst it's just less broken now.

The relevant code is in https://github.com/llvm/llvm-project/blob/551766823bb7b5a6af84e4ec1c1aff6dff431229/clang/lib/CodeGen/Targets/ARM.cpp, I'll link some specific parts.

r? davidtwco
fix crash in async-drop and async-gen

handle `AsyncGenPending` constants in `FixReturnPendingVisitor` rewrite `AsyncGenPending` constant uses to `Poll::<()>::Pending` in `FutureDropPoll` shims, matching the existing aggregate path

also added a regression test

fixes rust-lang#161101.

issue reproduce - https://godbolt.org/z/d1zb4j974
Download auto jobs in citool in parallel

To make the post-merge workflow report the result sooner after a PR is merged, and also to make local experiments (also with the test dashboard) quicker.

r? jieyouxu
Reserve capacity for 3% anon nodes

This reserves capacity for 3% anon nodes instead of 100%. For the benchmark suite the mean is ~1.6% and max ~5.8%, so I picked a middle ground.
…JohnTitor

Tighten the language used for documenting `TargetOptions::llvm_abiname`

`MCOptions` is the name of the variable commonly used for instances of `MCTargetOptions`. Use the proper type name instead. It should make finding the [documentation](https://llvm.org/doxygen/classllvm_1_1MCTargetOptions.html) for the struct a bit easier.
Rename `ProjectionPredicate` and `TraitPredicate`

Part of rust-lang#107250

This deviates from the plan I described in rust-lang#107250 (comment). The reason is that I kept getting into the awkward situation where I would go into a function dealing with multiple predicate/clause kinds, and need to rename only the variables referring with the particular kind I was renaming. So now, the plan is to first rename only the types (this PR), and afterwards go into functions and rename all the variables in them at once. That would also allow splitting the work better, e.g. tackling one crate/subtree at a time.

r? @oli-obk
Remove a bunch of unnecessary explicit lifetimes

Both rustdoc and hir ty lowering only process the HIR, they never store any of those nodes anywhere.

The reason I did this is that I'm refactoring `hir::ItemKind::Use`, and for rustdoc's processing of it it is more convenient to create a bunch of values on the stack and reference them, but right now rustdoc was expecting `'tcx` lifetimes everywhere.
…tor,davidtwco

make ARM maintainers pingable

rust-lang#153720 added the suggestion to ping ARM maintainers via rustbot, but that doesn't actually work currently. I hope this is the right way to set up triagebot.

Also, the target pages make it look like there is a `@rust-lang/arm-maintainers` GH team, which does not actually exist.

Cc @davidtwco
…r=Nadrieril

Add regression test for rustc diagnostic to recognize variables in match guards

closes rust-lang#80954
Don't rely on std traits not being const in tests

Many of these were dealt with in rust-lang#155616
There are some remaining ones
r? @oli-obk
vec: fixup the name that i forgot

Forgot this in rust-lang#161115. per libs decision in rust-lang#158344
…jorn3

Reflect current PR title names for subtree syncs in triagebot no-merges

Noticed that the current PR title names for subtree syncs seems to have changed (or at least for some) and is now "Subtree sync" (or it's lower-cased variant).

Let's update the triagebot config so the merge commit handler don't for those expected cases.

- rust-lang#157533 (comment)
- rust-lang#155978 (comment)
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Aug 20, 2026
@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 20, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors r+ 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-1,aarch64-apple-2,x86_64-mingw-1,i686-msvc-1,i686-msvc-2

@rust-bors

rust-bors Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

📌 Commit a115df6 has been approved by JonathanBrouwer

It is now in the queue for this repository.

🌲 The tree is currently closed for pull requests below priority 10. This pull request will be tested once the tree is reopened.

Reason for tree closure: Main branch is broken

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

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Aug 20, 2026
Rollup of 25 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-1
try-job: aarch64-apple-2
try-job: x86_64-mingw-1
try-job: i686-msvc-1
try-job: i686-msvc-2
@rust-bors

rust-bors Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: afad211 (afad21187c942a8273ffa73daa05c9f1ada3f03b)
Base parent: f7d782a (f7d782a3be46d6bb4b9792fe69a61db389ba1769)

@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors p=10

@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors p=9

@rust-bors rust-bors Bot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 20, 2026
@rust-bors

rust-bors Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

This pull request was unapproved due to being closed.

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

Labels

rollup A PR which is a rollup S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author.

Projects

None yet

Development

Successfully merging this pull request may close these issues.