Skip to content

Rollup of 6 pull requests#159569

Merged
rust-bors[bot] merged 15 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-UN6JOUD
Jul 19, 2026
Merged

Rollup of 6 pull requests#159569
rust-bors[bot] merged 15 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-UN6JOUD

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

celinval and others added 15 commits July 15, 2026 06:14
Add module-level documentation with usage example, crate discovery
guide, and status section. Document all public types, methods, and
free functions in lib.rs. Update README to reflect the crate rename
from stable_mir/rustc_smir to rustc_public/rustc_public_bridge.
- Add a concrete code example (duplicate crate detection)
- Clarify requires_monomorphization doc
- Add FIXME for Symbol type alias

Co-authored-by: Bruno Kolenbrander <59372212+mejrs@users.noreply.github.com>
Gather PGO profiles in parallel

This PR modifies `opt-dist` to:
1. Gather PGO profiles in parallel, with 4 benchmarks executed at once. To improve CPU utilization.
2. Optimize both LLVM and rustc with BOLT in parallel, because this takes ~4 minutes and is mostly sequential.
…-self-wfcheck-overflow, r=teor2345,jieyouxu

Avoid underflow for splatted rust-call receivers

Fixes rust-lang#158800

We alreay have proper error for `#[splat] self` in following code, so here we just need to avoid the overflow.

cc @teor2345
…ouxu

[compiletest] Differentiate between LLVM LLDB and Apple LLDB

This patch causes `compiletest` to treat LLVM and Apple LLDB versions uniquely, including modified `min-version` directives. We'll need this level of granularity going forward:

* rust-lang#158298 requires LLVM LLDB `22.1.x`. Currently, `compiletest` only cares about major versions.
* @jieyouxu's efforts to [pin debugger versions](rust-lang/compiler-team#1012)

Any tests that specified `min-lldb-version` have been updated to equivalent `min-apple-lldb-version` and `min-llvm-lldb-version` directives to preserve existing test filters.

r? @Kobzol, @jieyouxu
Document rustc_public lib.rs and update README

Add module-level documentation with usage example, crate discovery guide, and status section. Document all public types, methods, and free functions in lib.rs. Update README to reflect the crate rename from `stable_mir`/`rustc_smir` to `rustc_public`/`rustc_public_bridge`.

Disclaimer: I used AI to help me generate the documentation.
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Jul 19, 2026
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-testsuite Area: The testsuite used to check the correctness of rustc 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 Jul 19, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Contributor Author

@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-*

@rust-bors

rust-bors Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 1b397ef 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 Jul 19, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Jul 19, 2026
Rollup of 6 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-*
@rust-bors

This comment has been minimized.

@rust-bors

rust-bors Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 15983db (15983db96e10c0cd2692e857fb37e522a244be69)
Base parent: 234c31c (234c31cd674e11703f15d290cba7ff81dfe8b4b8)

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

rust-bors Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 16m 37s
Pushing 9f36de7 to main...

@rust-bors
rust-bors Bot merged commit 9f36de7 into rust-lang:main Jul 19, 2026
15 checks passed
@rustbot rustbot added this to the 1.99.0 milestone Jul 19, 2026
@rust-timer

Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#159524 Gather PGO profiles in parallel 7c232395a7c12f49665c701551a366fb51709389 (link)
#158850 Avoid underflow for splatted rust-call receivers bda30d0678537c1668c3debc80448084066cc4a7 (link)
#159215 [compiletest] Differentiate between LLVM LLDB and Apple LLDB 42b78ffb1ffb7e4295f075dfd6f7b097f2810d38 (link)
#159347 Document rustc_public lib.rs and update README fdfbeb302abf447966b7086c761baedca77ed0bb (link)
#159469 Reorganize tests/ui/issues [27/N] 0fe31209992ae0368281c9f8dc17f6873b89c3a5 (link)
#159512 Add regression tests for fixed dead-code issues 66cde72c57f16f77db41f89fa334b1d6900443b7 (link)

previous master: 234c31cd67

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

@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 234c31c (parent) -> 9f36de7 (this PR)

Test differences

Show 75 test diffs

Stage 1

  • [ui (polonius)] tests/ui/backtrace/sigbus-on-apple-missing-dwarf-backtrace.rs: [missing] -> pass (J1)
  • [ui (polonius)] tests/ui/expr/if/if-branch-unsized-str-mismatch.rs: [missing] -> pass (J1)
  • [ui (polonius)] tests/ui/issues/issue-44730.rs: pass -> [missing] (J1)
  • [ui (polonius)] tests/ui/issues/issue-44851.rs: pass -> [missing] (J1)
  • [ui (polonius)] tests/ui/issues/issue-4517.rs: pass -> [missing] (J1)
  • [ui (polonius)] tests/ui/issues/issue-4541.rs: pass -> [missing] (J1)
  • [ui (polonius)] tests/ui/issues/issue-4542.rs: pass -> [missing] (J1)
  • [ui (polonius)] tests/ui/issues/issue-45731.rs: pass -> [missing] (J1)
  • [ui (polonius)] tests/ui/issues/issue-45801.rs: pass -> [missing] (J1)
  • [ui (polonius)] tests/ui/issues/issue-46302.rs: pass -> [missing] (J1)
  • [ui (polonius)] tests/ui/issues/issue-4875.rs: pass -> [missing] (J1)
  • [ui (polonius)] tests/ui/issues/issue-49298.rs: ignore (ignored always ((Goal: Accept partial initialization + use of records created via such #54987))) -> [missing] (J1)
  • [ui (polonius)] tests/ui/lint/dead-code/const-arg-used-in-pub-trait.rs: [missing] -> pass (J1)
  • [ui (polonius)] tests/ui/lint/dead-code/const-fn-used-in-impl-header.rs: [missing] -> pass (J1)
  • [ui (polonius)] tests/ui/macros/doc-attr-macro.rs: [missing] -> pass (J1)
  • [ui (polonius)] tests/ui/macros/doc-attr-nested-macro.rs: [missing] -> pass (J1)
  • [ui (polonius)] tests/ui/match/match-cloned-string.rs: [missing] -> pass (J1)
  • [ui (polonius)] tests/ui/match/match-string-slice.rs: [missing] -> pass (J1)
  • [ui (polonius)] tests/ui/methods/generic-method-unsatisfied-bound.rs: [missing] -> pass (J1)
  • [ui (polonius)] tests/ui/mismatched_types/array-arg-expected-usize.rs: [missing] -> pass (J1)
  • [ui (polonius)] tests/ui/pattern/struct-pattern-in-fn-arg.rs: [missing] -> pass (J1)
  • [ui (polonius)] tests/ui/splat/splat-self-rust-call-issue-158800.rs: [missing] -> pass (J1)
  • [ui (polonius)] tests/ui/uninhabited/uninhabited-tuple-field-layout.rs: [missing] -> ignore (ignored always ((Goal: Accept partial initialization + use of records created via such #54987))) (J1)
  • [ui] tests/ui/backtrace/sigbus-on-apple-missing-dwarf-backtrace.rs: [missing] -> pass (J2)
  • [ui] tests/ui/expr/if/if-branch-unsized-str-mismatch.rs: [missing] -> pass (J2)
  • [ui] tests/ui/issues/issue-44730.rs: pass -> [missing] (J2)
  • [ui] tests/ui/issues/issue-44851.rs: pass -> [missing] (J2)
  • [ui] tests/ui/issues/issue-4517.rs: pass -> [missing] (J2)
  • [ui] tests/ui/issues/issue-4541.rs: pass -> [missing] (J2)
  • [ui] tests/ui/issues/issue-4542.rs: pass -> [missing] (J2)
  • [ui] tests/ui/issues/issue-45731.rs: pass -> [missing] (J2)
  • [ui] tests/ui/issues/issue-45801.rs: pass -> [missing] (J2)
  • [ui] tests/ui/issues/issue-46302.rs: pass -> [missing] (J2)
  • [ui] tests/ui/issues/issue-4875.rs: pass -> [missing] (J2)
  • [ui] tests/ui/issues/issue-49298.rs: ignore (ignored always ((Goal: Accept partial initialization + use of records created via such #54987))) -> [missing] (J2)
  • [ui] tests/ui/lint/dead-code/const-arg-used-in-pub-trait.rs: [missing] -> pass (J2)
  • [ui] tests/ui/lint/dead-code/const-fn-used-in-impl-header.rs: [missing] -> pass (J2)
  • [ui] tests/ui/macros/doc-attr-macro.rs: [missing] -> pass (J2)
  • [ui] tests/ui/macros/doc-attr-nested-macro.rs: [missing] -> pass (J2)
  • [ui] tests/ui/match/match-cloned-string.rs: [missing] -> pass (J2)
  • [ui] tests/ui/match/match-string-slice.rs: [missing] -> pass (J2)
  • [ui] tests/ui/methods/generic-method-unsatisfied-bound.rs: [missing] -> pass (J2)
  • [ui] tests/ui/mismatched_types/array-arg-expected-usize.rs: [missing] -> pass (J2)
  • [ui] tests/ui/pattern/struct-pattern-in-fn-arg.rs: [missing] -> pass (J2)
  • [ui] tests/ui/splat/splat-self-rust-call-issue-158800.rs: [missing] -> pass (J2)
  • [ui] tests/ui/uninhabited/uninhabited-tuple-field-layout.rs: [missing] -> ignore (ignored always ((Goal: Accept partial initialization + use of records created via such #54987))) (J2)

Stage 2

  • [ui] tests/ui/backtrace/sigbus-on-apple-missing-dwarf-backtrace.rs: [missing] -> pass (J0)
  • [ui] tests/ui/expr/if/if-branch-unsized-str-mismatch.rs: [missing] -> pass (J0)
  • [ui] tests/ui/issues/issue-44730.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-44851.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-4517.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-4541.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-4542.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-45731.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-45801.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-46302.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-4875.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-49298.rs: ignore (ignored always ((Goal: Accept partial initialization + use of records created via such #54987))) -> [missing] (J0)
  • [ui] tests/ui/lint/dead-code/const-arg-used-in-pub-trait.rs: [missing] -> pass (J0)
  • [ui] tests/ui/lint/dead-code/const-fn-used-in-impl-header.rs: [missing] -> pass (J0)
  • [ui] tests/ui/macros/doc-attr-macro.rs: [missing] -> pass (J0)
  • [ui] tests/ui/macros/doc-attr-nested-macro.rs: [missing] -> pass (J0)
  • [ui] tests/ui/match/match-cloned-string.rs: [missing] -> pass (J0)
  • [ui] tests/ui/match/match-string-slice.rs: [missing] -> pass (J0)
  • [ui] tests/ui/methods/generic-method-unsatisfied-bound.rs: [missing] -> pass (J0)
  • [ui] tests/ui/mismatched_types/array-arg-expected-usize.rs: [missing] -> pass (J0)
  • [ui] tests/ui/pattern/struct-pattern-in-fn-arg.rs: [missing] -> pass (J0)
  • [ui] tests/ui/splat/splat-self-rust-call-issue-158800.rs: [missing] -> pass (J0)
  • [ui] tests/ui/uninhabited/uninhabited-tuple-field-layout.rs: [missing] -> ignore (ignored always ((Goal: Accept partial initialization + use of records created via such #54987))) (J0)
  • [debuginfo-lldb] tests/debuginfo/captured-fields-1.rs: ignore (ignored when the LLDB version is 2100) -> ignore (ignored when the Apple LLDB version is 1703.0.236.21) (J3)
  • [debuginfo-lldb] tests/debuginfo/lexical-scope-in-match.rs: ignore (ignored when the LLDB version is 2100) -> ignore (ignored when the Apple LLDB version is 1703.0.236.21) (J3)

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

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 9f36de775bc636c8e88c31a173c2bcb6995956a0 --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. x86_64-gnu-llvm-22-2: 1h 43m -> 59m 23s (-42.5%)
  2. dist-armv7-linux: 1h 4m -> 1h 30m (+39.4%)
  3. dist-arm-linux-gnueabi: 1h 5m -> 1h 29m (+37.1%)
  4. x86_64-gnu-llvm-21-1: 1h -> 38m 31s (-35.9%)
  5. armhf-gnu: 1h 35m -> 1h 4m (-32.5%)
  6. x86_64-gnu-stable: 2h 37m -> 1h 46m (-32.0%)
  7. i686-gnu-2: 1h 7m -> 1h 27m (+29.2%)
  8. pr-check-1: 33m 22s -> 23m 47s (-28.7%)
  9. x86_64-msvc-ext2: 1h 29m -> 1h 54m (+28.5%)
  10. arm-android: 1h 44m -> 1h 17m (-25.8%)
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 (9f36de7): 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)

Results (primary 1.1%, secondary -1.6%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
1.1% [1.1%, 1.1%] 1
Regressions ❌
(secondary)
7.9% [7.9%, 7.9%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-4.0% [-4.9%, -3.3%] 4
All ❌✅ (primary) 1.1% [1.1%, 1.1%] 1

Cycles

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

Binary size

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

Bootstrap: 488.235s -> 484.26s (-0.81%)
Artifact size: 392.45 MiB -> 391.74 MiB (-0.18%)

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

Labels

A-compiletest Area: The compiletest test runner A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants