Skip to content

Rollup of 8 pull requests - #162427

Closed
JonathanBrouwer wants to merge 24 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-eEf6jIp
Closed

Rollup of 8 pull requests#162427
JonathanBrouwer wants to merge 24 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-eEf6jIp

Conversation

@JonathanBrouwer

@JonathanBrouwer JonathanBrouwer commented Sep 7, 2026

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

yara-blue and others added 24 commits September 4, 2026 19:26
…O is enabled

The parallel frontend makes the cookies nondeterministic in their
current form, resulting in nondeterministic outputs when bitcode is
emitted or LTO is used.

Causes minor diagnostic regression for inline asm in release builds.
This test demonstrates the existing crash, and will be migrated to a successful
coverage test in a subsequent commit.

Co-Authored-By: Rachel Barker <rachel.barker@ferrous-systems.com>
Compile-time-only functions don't generate code, so instrumenting them for
coverage is useless.

This also avoids an ICE when trying to get the function's symbol name for an
unused-function record, which can occur when instrumenting `core`.

Co-Authored-By: Rachel Barker <rachel.barker@ferrous-systems.com>
In all cases, the caller was passing `&self.thir[scrutinee_id].span`, which can
just as easily be done by the callee. There's no need to add confusion by
passing a separate span.
…tatic-bound, r=jackh726

avoid spurious lifetime diagnostic in async generic case

Fixes rust-lang#115376.

Issue rust-lang#115376 reports duplicate lifetime diagnostics for a small async generic example where rustc already emits the real `T: 'static` error. Additionally, it emits diagnostics requiring the same generic type to outlive a shorter anonymous lifetime

My PR keeps the real static-bound diagnostic and filters same-span weaker type-test diagnostics for the same generic when the failed `G: 'static` bound already covers them. New regression test verifies that the async example emits only the real E0310 diagnostic. One existing borrowck test was updated for the same diagnostic cleanup
…s, r=petrochenkov

Restrict LLVM inline asm location cookie usage. Fixes rust-lang#150451

The parallel frontend makes the cookies nondeterministic in their current form, resulting in nondeterministic outputs when bitcode is emitted or LTO is used.

Causes minor diagnostic regression for inline asm in release builds. See rust-lang#150451 for details.

Fixes rust-lang#150451

r? bjorn3
…r=jieyouxu

Unconditionally invalidate the library when the compiler changes

Note that `x doc` is invalidated elsewhere, when `rustdoc` changes.

Fixes: rust-lang#162407

r? jieyouxu
…, r=oli-obk

Reflection refactor ptrs

Tracking issue rust-lang#146922

Part of the [Refactoring to many methods](https://rust-lang.zulipchat.com/#narrow/channel/572285-goals.2Freflection/topic/Refactoring.20to.20many.20methods/with/592226560) reflection subgoal. See that for the full context. In short for various reasons we are moving from an enum `TypeKind` where the variants hold the types information to one that just tells you the type kind. Separate methods on `TypeId` provide a way to get to the data that used to be in the variant.

Since function pointers have a lot of fields it felt better to keep the `FnPtr` struct we have now then add an intrinsic for each field.

r? @oli-obk
Make comptime functions ineligible for coverage

- rust-lang#159777
- rust-lang#161808
---

As reported in rust-lang#161808, the assertion in rust-lang#159777 causes the compiler to ICE when it tries to generate an unused-function record for comptime functions, because comptime functions aren't allowed to have a symbol name. This can occur when trying to instrument `core`, for example.

Compile-time-only functions don't generate code, so instrumenting them for coverage is useless anyway. This PR therefore makes them ineligible for coverage, which avoids the problem.
… r=oli-obk

add test ensuring we refuse to const-eval the body of a rustc_do_not_const_check function

IMO this is crucial, to ensure that we cannot break users by changing the body of such a function to something no-longer-const-compatible.

r? @oli-obk
std: remove exceed whitespace in docs

As title.
…enkov

mir_build: Don't pass a redundant `scrutinee_span` to some MIR-build methods

In all cases, the caller was passing `&self.thir[scrutinee_id].span`, which can just as easily be done by the callee. There's no need to add confusion by passing a separate span.

(The current situation is probably the result of gradual changes over time.)

There should be no change to compiler output.
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Sep 7, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-bootstrap-stamp Area: bootstrap stamp logic A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 7, 2026
@rustbot rustbot added 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. labels Sep 7, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors r+ p=5

Trying commonly failed jobs
@bors try jobs=dist-various-1,test-various,test-x86_64-gnu-aux,test-x86_64-gnu-llvm-21-3,test-x86_64-msvc-1,test-aarch64-apple-1,test-aarch64-apple-2,test-x86_64-mingw-1,test-i686-msvc-1,test-i686-msvc-2,test-armhf-gnu

@rust-bors

rust-bors Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 89c5615 has been approved by JonathanBrouwer

It is now in the queue for this repository.

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

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Sep 7, 2026
Rollup of 8 pull requests


try-job: dist-various-1
try-job: test-various
try-job: test-x86_64-gnu-aux
try-job: test-x86_64-gnu-llvm-21-3
try-job: test-x86_64-msvc-1
try-job: test-aarch64-apple-1
try-job: test-aarch64-apple-2
try-job: test-x86_64-mingw-1
try-job: test-i686-msvc-1
try-job: test-i686-msvc-2
try-job: test-armhf-gnu
@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 Sep 7, 2026
@rust-bors

rust-bors Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

This pull request was unapproved due to being closed.

@rust-bors

rust-bors Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: a047c13 (a047c1369c37a35691f4736c552df5de4670fb17)
Base parent: 656a9da (656a9da186dacaf3bf8f7f7296a825d256cb4ae3)

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

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-bootstrap-stamp Area: bootstrap stamp logic A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs 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. 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

Development

Successfully merging this pull request may close these issues.

parallel compiler: threads::spawnning loop not reproducible

9 participants