Skip to content

Rollup of 9 pull requests - #161533

Merged
rust-bors[bot] merged 21 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-czcbzXR
Aug 22, 2026
Merged

Rollup of 9 pull requests#161533
rust-bors[bot] merged 21 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-czcbzXR

Conversation

@JonathanBrouwer

@JonathanBrouwer JonathanBrouwer commented Aug 22, 2026

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

nnethercote and others added 21 commits August 18, 2026 12:39
Only `iterate_to_fixpoint` requires `Domain: DebugWithContext<Self>`;
`visit_results` does not. And `Borrowck` is an unusual analysis that
never calls `iterate_to_fixpoint`; instead its results are composed from
the results of the three sub-analyses.
Installing cargo tools (`cargo install`) without locked dependencies exposes users to supply-chain attacks to all the dependencies of the tool (https://blog.rust-lang.org/2026/08/20/supply-chain-attack-on-arrayref/). Using `cargo install --locked` reduces this risk to a compromise of the tool itself, while using the locked and hashed version of the dependencies.

I went through all `rg "cargo install"` hits in the repository and added `--locked` to all but explanatory examples. I validated that those tools publish functioning `Cargo.lock`s with https://gist.github.com/konstin/ef3412518e207bea6035a1bd01f3821b.
…ed free const in the `core::char`/`std::char` modules.
…p building LLVM

Because when we do e.g. `x check library`, during that invocation we build the compiler, and that needs LLVM.
After the removal of `ensure_sufficient_stack`, these inner and outer functions
no longer need to be separate.
…=jieyouxu

Fix checking of LLVM prebuilt status

This regressed in rust-lang#160916.

I'll start from the end. There was a pre-existing bug (fixed by the second commit of this PR), where if we do `x check library`, we have `builder.kind == Kind::Check`, but we are actually building things (like the compiler) during that bootstrap invocation. But bootstrap was only checking the builder kind before, and in that case it would skip building LLVM, *unless* it was already built locally previously. On PR CI, and perhaps always (because build steps executed during check likely only occur during `x check library`, which requires *building* the compiler anyway), the LLVM was built locally anyway, so this bug was hidden away. This also removes an unnecessary LLVM build when running Clippy on the rustc_private tools.

However, after rust-lang#160916, this was no longer case, because it stopped treating locally built LLVM as being prebuilt (which, in and of itself, is kinda a bug). Because when we check the compiler, we want to avoid building (and checking out!) LLVM. Before rust-lang#160916, bootstrap considered a *previously locally built* LLVM to be available as a prebuilt `llvm-config`, and in that case configured `LLVM_CONFIG` for `rustc_llvm`. Because all PR CI bootstrap invocations that do `check` actually built LLVM prior doing a build, this worked, somehow, but broke after my PR.

Should unblock rust-lang#161466.

r? jieyouxu
…xt-for-BorrowckDomain, r=cjgillot

Remove `impl DebugWithContext for BorrowckDomain`

Only `iterate_to_fixpoint` requires `Domain: DebugWithContext<Self>`; `visit_results` does not. And `Borrowck` is an unusual analysis that never calls `iterate_to_fixpoint`; instead its results are composed from the results of the three sub-analyses.

r? @cjgillot
…ter, r=hanna-kruppe

Doclink to `char::REPLACEMENT_CHARACTER` instead of `std::char::REPLACEMENT_CHARACTER`.

Doclink to the associated const on primitive `char`, not the deprecated free const in the `core::char`/`std::char` modules.
…d, r=folkertdev

Install cargo tools with locked dependencies

Installing cargo tools (`cargo install`) without locked dependencies exposes users to supply-chain attacks to all the dependencies of the tool (https://blog.rust-lang.org/2026/08/20/supply-chain-attack-on-arrayref/). Using `cargo install --locked` reduces this risk to a compromise of the tool itself, while using the locked and hashed version of the dependencies.

I went through all `rg "cargo install"` hits in the repository and added `--locked` to all but explanatory examples (such as cargo's docs on `cargo install` itself). I validated that those tools publish functioning `Cargo.lock`s with https://gist.github.com/konstin/bcb1169c1c1120c259dca64e777a64d0.
Clean up a few `_inner` functions after `ensure_sufficient_stack`

After the removal of `ensure_sufficient_stack` in rust-lang#160535, these inner and outer functions no longer need to be separate.

cc @ChrisDenton
…ck, r=mejrs

Remove useless `!fields.is_empty()` check
enable next solver in Miri

This was disabled in rust-lang#160619, apparently because some tests failed. But I can't reproduce those test failures locally.

Fixes rust-lang/miri#5269
Landing this here because rustc CI is where this used to break, and also Miri got broken again so we can't do syncs currently.

Cc @Kivooeo r? @lcnr
Revert rust-lang#161236 (Download auto jobs in citool in parallel)

I think that this might have caused [this failure](rust-lang#161260 (comment)).

It's not worth debugging things like that over parallelizing this...

r? jieyouxu
rename `T-libs-api` to `T-libs` in issue templates

Since they were merged with rust-lang/rfcs#3984.
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Aug 22, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool 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. labels Aug 22, 2026
@rustbot rustbot added 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 Aug 22, 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 22, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 7211166 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 Aug 22, 2026
@rust-bors

This comment has been minimized.

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

This comment has been minimized.

@rust-bors

rust-bors Bot commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 46aca49 (46aca49ccbee99a5fa97d29c26492b82a7bed644)
Base parent: b0ca9c7 (b0ca9c712455d865c3bf0bf5325a3e79677a2d97)

@rust-bors rust-bors Bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 22, 2026
@rust-bors

rust-bors Bot commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 11m 48s
Pushing 78c04b6 to main...

@rust-bors
rust-bors Bot merged commit 78c04b6 into rust-lang:main Aug 22, 2026
15 checks passed
@rustbot rustbot added this to the 1.100.0 milestone Aug 22, 2026
@github-actions

Copy link
Copy Markdown
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 b0ca9c7 (parent) -> 78c04b6 (this PR)

Test differences

Show 6 test diffs

6 doctest diffs were found. These are ignored, as they are noisy.

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 78c04b6a348438fb9396b8864cd34f92fb99cd53 --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-1: 1h 30m -> 2h 8m (+42.5%)
  2. x86_64-msvc-ext2: 1h 18m -> 1h 51m (+42.2%)
  3. dist-armv7-linux: 1h 32m -> 1h 4m (-29.7%)
  4. x86_64-gnu-llvm-21-1: 54m 55s -> 38m 45s (-29.4%)
  5. pr-check-2: 34m 27s -> 44m 22s (+28.8%)
  6. x86_64-gnu-aux: 2h 41m -> 1h 55m (-28.4%)
  7. x86_64-gnu-next-trait-solver-polonius: 49m 34s -> 1h 3m (+27.5%)
  8. dist-x86_64-illumos: 1h 48m -> 1h 19m (-27.4%)
  9. i686-gnu-nopt-2: 1h 53m -> 2h 24m (+27.3%)
  10. x86_64-gnu: 2h 38m -> 1h 57m (-26.1%)
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
Copy Markdown
Collaborator

Finished benchmarking commit (78c04b6): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This perf run didn't have relevant results for this metric.

Max RSS (memory usage)

This perf run didn't have relevant results for this metric.

Cycles

Results (secondary 15.4%)

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)
15.4% [15.2%, 15.5%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Binary size

This perf run didn't have relevant results for this metric.

Bootstrap: 469.195s -> 468.574s (-0.13%)
Artifact size: 400.17 MiB -> 400.20 MiB (0.01%)

@rust-bors

rust-bors Bot commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#161475 Fix checking of LLVM prebuilt status b1ddb87e23f4527ef9184f4d8e55de0c5646840f
(link)
#161269 Remove impl DebugWithContext for BorrowckDomain 90ab3df8e0e282a27fe3cbf0eabc3754c705585f
(link)
#161419 Doclink to char::REPLACEMENT_CHARACTER instead of `std::c… e66e2b61fcdf6c423e824116f0ac5a76a7488dfe
(link)
#161428 Install cargo tools with locked dependencies 007a42e35070267bf5fd1f146f03cd289cdab82c
(link)
#161502 Clean up a few _inner functions after `ensure_sufficient_… 32514b11507dad2052b999bb4fbb8ba2b003f5bb
(link)
#161507 Remove useless !fields.is_empty() check 938b2b62a8d71ed0452622e8f36fa9ee2efe5907
(link)
#161512 enable next solver in Miri fafa4256d8a2442578475f29daf5316fb938ca5c
(link)
#161516 Revert #161236 (Download auto jobs in citool in parallel) 0db4d5d2910774860c93a32d2f5897e34363c3bb
(link)
#161518 rename T-libs-api to T-libs in issue templates 05182a1c610337b9e14f57669de074212a8700db
(link)

parent commit: b0ca9c7124

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

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

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool merged-by-bors This PR was explicitly merged by bors. O-windows Operating system: Windows rollup A PR which is a rollup 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.

10 participants