Skip to content

Rollup of 11 pull requests - #161289

Merged
rust-bors[bot] merged 28 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-WQrI9Qf
Aug 18, 2026
Merged

Rollup of 11 pull requests#161289
rust-bors[bot] merged 28 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-WQrI9Qf

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

LorrensP-2158466 and others added 28 commits August 8, 2026 10:33
…*_checked` requiring a `&Resolver` to check the speculative flag. The normal ones require a `&mut Resolver` thus not needing to check the speculative flag.

Mostly to minimize per "penalty" of always checking it, even if we definitely know that we are not in speculative resolution (due to `&mut Resolver`).
Signed-off-by: Amirhossein Akhlaghpour <m9.akhlaghpoor@gmail.com>
Signed-off-by: Amirhossein Akhlaghpour <m9.akhlaghpoor@gmail.com>
Like `repr(simd)`, fields of scalable vectors should not be considered
dead code.
…rochenkov

resolving cyclic glob vis-max

Fixes rust-lang#160685

rust-lang#159039 follows `ambiguity_vis_max`. Mutual globs can cycle that and overflow the stack. Visit each most-visible glob once, and still walk `source_decl` so it stays public.

Also shortened the rust-lang#159038 regression-test headers.

r? petrochenkov
@rustbot label +A-resolve +A-visibility +T-compiler +beta-nominated
…lqd,mu001999

passes: `rustc_scalable_vector` fields are not dead

Like `repr(simd)`, fields of scalable vectors should not be considered dead code.
…ch, r=petrochenkov

remove scalar size mismatch interpreter error, make it an ICE instead

This error was added in rust-lang#71569 to deal with ICEs on incorrect Miri shim signatures. However, that was a partial fix: if the signature is "even more incorrect", using a non-scalar type where the type should be scalar, we still ICE. The proper fix is tracked in rust-lang/miri#3842, and that is already used for a good chunk of our shims.

I don't think it's worth keeping around the old, incomplete check here, so let's get rid of it.

Sadly, the `to_$int` methods on `Scalar` still return a `Result` as they must still error if the scalar is a pointer and we are in const-eval where we cannot turn that pointer into an integer. We should probably use `ScalarInt` in a lot more places where we currently use `Scalar` to statically exclude this case... but that's a change for another time.
…, r=petrochenkov

Resolver: add `checked` methods for `Cm(Ref)Cell`

part of rust-lang#158845

Introduces extra functions for the mutating functions of `Cm(Ref)Cell` with a `checked` suffix that are the same logic as current ones. It allows for the functions without the suffix to ignore the check on the speculative flag by requiring a `&mut Resolver`, which is only possible if we are definitely not in speculative resolution.

r? @petrochenkov
…ait-ice, r=khyperia

Avoid ICE when recovering parenthesized type parameters

fix an ICE when impl Trait appears inside invalid parenthesized generic arguments by preserving the existing E0214 error path instead of lowering it as an opaque type
Fixes rust-lang#161062
…ieyouxu

Compute job time in post-merge-report from the actual GitHub duration

Up until now, the post-merge report analysis showed job durations computed from the sum of executed bootstrap steps. But this is quite confusing, because it does not correspond to the actual times we see on GitHub. I got quite worried recently about some durations, until I realized that I'm looking at something different than I thought I was.

r? jieyouxu
…lkertdev

Fix `#[repr(transparent)]` wrapper types not working with `Complex<T>`

This PR fixes handling of `#[repr(transparent)]` types both containing `Complex<T>` and containing the `T` with `Complex<T>`. I've also added a test case for where this was showing up in the `x86` ABI.

r? @folkertdev
Add regression test for indexing an unsized static without a body

Closes rust-lang#141804
r? compiler
Ignore target feature test when LLVM fails to compile minicore

llvm/llvm-project#111334 made LLVM reject certain target feature + ABI mismatches (ARM hard / soft float) which means that minicore now [fails to build](https://buildkite.com/llvm-project/rust-llvm-integrate-prototype/builds/48076/canvas?sid=01a00f60-fa22-4f35-a854-0b6d1c302123) with errors like `error: <unknown>:0:0: in function _RNvXsc_Cs4Af2OiBEA1T_8minicoreiNtB5_3Add3add i32 (i32, i32): calling convention is hard-float, but floating-point registers are unavailable`

This PR ignores the test where this currently happens on LLVM 24, assuming that if LLVM is now rejecting this, we should turn the rust-side warning into an error as well. Created rust-lang#161276 to track that.

r? @RalfJung (since you worked ~recently on these, including migrating them to minicore)

@rustbot label llvm-main
…-fast-path, r=petrochenkov

perf: return early from in_external_macro for root contexts

This line was hot when profiling clippy-driver. With this change, clippy instructions reduce for ryu -1.01%, syn -0.21%, regex -0.20%.

r? @petrochenkov
Add regression test for normalization failure on erased closure in async block

Closes rust-lang#151299
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Aug 18, 2026
@rustbot rustbot added the A-CI Area: Our Github Actions CI label Aug 18, 2026
@rustbot rustbot added 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-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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Aug 18, 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 18, 2026

Copy link
Copy Markdown
Contributor

📌 Commit b255a7e 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 18, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Aug 18, 2026
Rollup of 11 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 18, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: b78bcf3 (b78bcf356e17b6c139b553a730d771501ae22136)
Base parent: 19523e0 (19523e0188270ed9b30336831116acc84adaca3f)

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

rust-bors Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

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

@rust-bors
rust-bors Bot merged commit e71c0f1 into rust-lang:main Aug 18, 2026
15 checks passed
@rustbot rustbot added this to the 1.100.0 milestone Aug 18, 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 444dcce (parent) -> e71c0f1 (this PR)

Test differences

Show 15 test diffs

Stage 1

  • [ui] tests/ui/imports/ambiguous-import-visibility-globglob-cycle.rs: [missing] -> pass (J0)
  • [ui] tests/ui/scalable-vectors/dead-code.rs: [missing] -> ignore (only executed when the architecture is aarch64) (J0)
  • [ui] tests/ui/statics/unsized-static-without-body-index-141804.rs: [missing] -> pass (J0)
  • [ui] tests/ui/traits/next-solver/normalize-erased-closure-in-async-151299.rs: [missing] -> pass (J0)
  • [ui (polonius)] tests/ui/imports/ambiguous-import-visibility-globglob-cycle.rs: [missing] -> pass (J2)
  • [ui (polonius)] tests/ui/scalable-vectors/dead-code.rs: [missing] -> ignore (only executed when the architecture is aarch64) (J2)
  • [ui (polonius)] tests/ui/statics/unsized-static-without-body-index-141804.rs: [missing] -> pass (J2)
  • [ui (polonius)] tests/ui/traits/next-solver/normalize-erased-closure-in-async-151299.rs: [missing] -> pass (J2)

Stage 2

  • [ui] tests/ui/imports/ambiguous-import-visibility-globglob-cycle.rs: [missing] -> pass (J1)
  • [ui] tests/ui/statics/unsized-static-without-body-index-141804.rs: [missing] -> pass (J1)
  • [ui] tests/ui/traits/next-solver/normalize-erased-closure-in-async-151299.rs: [missing] -> pass (J1)
  • [ui] tests/ui/scalable-vectors/dead-code.rs: [missing] -> pass (J3)
  • [ui] tests/ui/scalable-vectors/dead-code.rs: [missing] -> ignore (only executed when the architecture is aarch64) (J4)

Additionally, 2 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 e71c0f1e3395b10a8c331317be1a5c107bdf7b2e --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-stdlib-semver-check: 11m 23s -> 19m 38s (+72.5%)
  2. i686-gnu-nopt-1: 1h 34m -> 2h 21m (+49.4%)
  3. x86_64-gnu-gcc-core-tests: 12m 30s -> 18m 7s (+44.9%)
  4. x86_64-gnu-llvm-22-1: 54m 45s -> 1h 19m (+44.6%)
  5. dist-i686-linux: 1h 20m -> 1h 51m (+38.4%)
  6. x86_64-gnu-llvm-21: 43m 53s -> 57m 33s (+31.1%)
  7. x86_64-msvc-ext2: 1h 53m -> 1h 20m (-28.6%)
  8. aarch64-apple-macos-26-1: 2h 8m -> 1h 33m (-27.4%)
  9. x86_64-gnu-llvm-21-3: 1h 48m -> 1h 19m (-27.3%)
  10. dist-ohos-aarch64: 1h -> 1h 17m (+27.2%)
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 (e71c0f1): comparison URL.

Overall result: ❌ regressions - please read:

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
0.5% [0.3%, 0.6%] 6
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.5% [0.3%, 0.6%] 6

Max RSS (memory usage)

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

Cycles

Results (secondary -3.3%)

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)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.3% [-3.3%, -3.3%] 1
All ❌✅ (primary) - - 0

Binary size

Results (secondary 0.0%)

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)
0.0% [0.0%, 0.0%] 19
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Bootstrap: 455.347s -> 456.919s (0.35%)
Artifact size: 398.98 MiB -> 398.99 MiB (0.00%)

@rustbot rustbot added the perf-regression Performance regression. label Aug 18, 2026
@rust-bors

rust-bors Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#161024 resolving cyclic glob vis-max bdc5bbf4708f76c0a1cac7fa67e35485f1f4ccbf
(link)
#161231 passes: rustc_scalable_vector fields are not dead c8ebcb47b9f39bd52182cbee7feebc38954570c7
(link)
#161238 remove scalar size mismatch interpreter error, make it an I… 02877d8bc3c5887a71433aefdbb3e1cf9beebbd5
(link)
#160345 Resolver: add checked methods for Cm(Ref)Cell a4f740ea639e36e930464df9c363be585316b7fb
(link)
#161129 Avoid ICE when recovering parenthesized type parameters cebce51e36bdfe6adcbf8eb8c1e2fd6eb9ff7532
(link)
#161235 Compute job time in post-merge-report from the actual GitHu… ee48612a38b3d276dc104d72e3d7ecb332e0c0ac
(link)
#161239 Fix #[repr(transparent)] wrapper types not working with `… eecc65064972df579c734e93908f3b118ec3c9be
(link)
#161244 Add regression test for indexing an unsized static without … 01b82f09b904d139fee2ee4f0ad8a62a81d22cbd
(link)
#161257 Ignore target feature test when LLVM fails to compile minic… b00bb925b6a3920996d2050268cee8a95985989e
(link)
#161258 perf: return early from in_external_macro for root contexts 5759993ec881fa4605d84eb99dc1a9a2fd0ed1ac
(link)
#161278 Add regression test for normalization failure on erased clo… d2f0939f13c9ef00334133e921a9f8e9521d477c
(link)

parent commit: 444dcce484

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-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. rollup A PR which is a rollup 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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.