Skip to content

Rollup of 9 pull requests - #160867

Merged
rust-bors[bot] merged 26 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-bas1App
Aug 10, 2026
Merged

Rollup of 9 pull requests#160867
rust-bors[bot] merged 26 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-bas1App

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

Failed merges:

r? @ghost

Create a similar rollup

Dnreikronosand others added 26 commits July 26, 2026 13:43
Canonicalize and evaluate next-gen region constraints before query response canonicalization so equivalent constraints merge structurally.
Cover the dyn object supertrait case that used to leave equivalent next-gen region constraints in different shapes.
…ize_next_gen_regions, r=BoxyUwU,lcnr
trait_solver: normalize next-gen region constraints
fixesrust-lang#157729
-zassumptions-on-binders can produce next-gen region constraints that mean the same thing but don't have the same shape. in this case object candidate merging stayed ambiguous and instance resolution later hit the ice. imo normalizing the constraint at the response boundary is the least weird place for this, because candidate selection shouldn't need to know which vtable looks nicer.
canonicalize and evaluate the next-gen region constraint before response canonicalization, then cover the dyn derived<p> supertrait case from the issue. lgtm locally with the focused test, tests/ui/traits/next-solver, and tests/ui/assumptions_on_binders. idk if there's a better home for the helper call, but ltm this keeps the fix pretty narrow.
Do not eagerly download rustfmt in bootstrap
I'm continuing my bootstrap refactorings with the goal of avoiding eager download of stuff during config parsing, which makes the config parse step more complicated.
An added benefit is that `rustfmt`, together with its `librustc_driver`, is now only downloaded on-demand. So unless you use `x fmt` or `x test tidy`, those two components won't be downloaded unnecessarily (both locally and on CI).
Best reviewed commit-by-commit.
r? @jieyouxu
…folkertdev
mir: prohibit projection into scalable vec
Fixesrust-lang#160580. Preventing projections into scalable vectors is an oversight from the initial implementation and something we should fix.
I'm surprised it caused a stdarch CI failure as reported by rust-lang#160580, as nothing in rustc or stdarch seems to have changed that would have caused that to start happening as far as I can tell. This likely won't fix that stdarch CI failure if it keeps happening, because if there is a projection coming from somewhere then that needs to be fixed - nevertheless, preventing them as in this patch is the right thing to do.
I've tested this against the stdarch CI locally.
…ace, r=WaffleLapkin
MaybeDangling: ensure references fit inside the address space
In the RFC we left open the question of the exact validity invariant for references inside `MaybeDangling`. This PR implements the strictest invariant I can think of: we already require references to be aligned, now we also require "addr + size" to be computable without overflow. This ensures that whatever niches we add to references in the future, `MaybeDangling` preserves those niches.
Cc @rust-lang/opsem @WaffleLapkin
Tracking issue: rust-lang#118166
r? @oli-obk
Use recognizer functions for enums and tuple structs
Non-urgent, but related to rust-lang#160331
We currently shove most user defined types through `synthetic_lookup` as I hadn't gotten around to using type recognizers yet. If we want tests to skip outputting types when the type doesn't have a visualizer, we should also not attach a (useless) visualizer to most UDTs.
The only things `synthetic_lookup` catches that aren't already caught by the regexes are tuple-structs and sum-type enums. This patch adds targeted type recognizers for those, and no longer sends types through `synthetic_lookup` at all on LLDB 19+
this doesn't affect `pretty-std.rs` since all those types have visualizers, but it will affect other tests if/when they're converted (e.g. `tests/debuginfo/struct-in-struct.rs`)
r? @Kobzol, @jieyouxu
…=clarfonthey
Docs & bors: Replace mentions of libs-api with libs
Per [the libs refactor RFC](rust-lang/rfcs#3984), libs-api will not exist anymore soon & so replace mentions of it with libs.
…ed-vita, r=joboet
Fix references to unsupported on sys::paths::unix
Compilation was seemingly broken by PR rust-lang#150885, commit f2dd932, by removing one of the nested `mod`s.
I'm one of the `armv7-sony-vita-newlibeabihf` target maintainers.
Summary of changes for affected targets:
- `armv7-sony-vita-newlibeabihf`: now compiles
- `armv6k-nintendo-3ds`: still doesn't compile, apparently due to an issue introduced in rust-lang#158168, which should be fixed by rust-lang#160170
- all espidf targets: I haven't compiled any of them as I don't have the toolchain installed, but it should be on the same as 3DS. The same errors can be seen in [does-it-build](https://does-it-build.noratrieb.dev/build?nightly=2026-08-09&target=xtensa-esp32s3-espidf&mode=std)
Use `remove_dir_all` for `./x clean`
This should work better in most cases (and be faster) particularly on Windows. I've left the old implementation more or less intact to provide diagnostics on failure. But it could be removed if desired.
@rust-borsrust-borsBot added the rollup A PR which is a rollup label Aug 10, 2026
@rustbotrustbot added A-rustc-dev-guide Area: rustc-dev-guide 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. labels Aug 10, 2026
@rustbotrustbot 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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Aug 10, 2026
@JonathanBrouwer

Copy link
Copy Markdown
MemberAuthor

@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-borsBot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 18d3668 has been approved by JonathanBrouwer

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 10, 2026
@rust-bors

This comment has been minimized.

rust-borsBot pushed a commit that referenced this pull request Aug 10, 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-borsBot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: a38f2aa (a38f2aacf633140499ce192ed093957be8e4b26a)
Base parent: ea06042 (ea060423749bf6e561c3398f403425c502beb9ba)

@rust-borsrust-borsBot 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 10, 2026
@rust-bors

rust-borsBot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

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

@rust-bors
rust-borsBot merged commit 12c36e2 into rust-lang:mainAug 10, 2026
15 checks passed
@rustbotrustbot added this to the 1.99.0 milestone Aug 10, 2026
@rust-timer

Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR#MessagePerf Build Sha
#158404trait_solver: normalize next-gen region constraints4c1c038a00b6e90cfdf2ff5adaf38a3b3ab9e1dc (link)
#160631Do not eagerly download rustfmt in bootstrap0cf21a33737de295683c5705913dd98b7a21f973 (link)
#160642mir: prohibit projection into scalable vec4dff3fd5a9fb0e243a731ce7e299161e7168c1ee (link)
#160749MaybeDangling: ensure references fit inside the address spa…e5c1f300fd0f2e1e393500374177dd12b21ce7ec (link)
#160791Use recognizer functions for enums and tuple structs5a7c0c30937e8253bcaca0b820313c11cbc959f4 (link)
#160500Fix inaccurate description for crate and pathroot4030af45a6b52e983c8db5b0c92211e9a0cb453b (link)
#160590Docs & bors: Replace mentions of libs-api with libs22cd9dcfc6d08507f5906bd5462d663d7b5df930 (link)
#160825Fix references to unsupported on sys::paths::unixa7e3eb7b600cb89fd59af73dd34780a0fa2e1baf (link)
#160852Use remove_dir_all for ./x clean9cd527398c32db4d55cc14fc32b78afc98ac81a4 (link)

previous master: ef20314466

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 ef20314 (parent) -> 12c36e2 (this PR)

Test differences

Show 40 test diffs

Stage 1

  • [ui] tests/ui/assumptions_on_binders/object-candidate-regions-issue-157729.rs: [missing] -> pass (J1)
  • [ui] tests/ui/scalable-vectors/project-into-field-extern.rs: [missing] -> ignore (only executed when the architecture is aarch64) (J1)
  • [ui] tests/ui/scalable-vectors/project-into-field.rs: [missing] -> pass (J1)
  • [ui (polonius)] tests/ui/assumptions_on_binders/object-candidate-regions-issue-157729.rs: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/scalable-vectors/project-into-field-extern.rs: [missing] -> ignore (only executed when the architecture is aarch64) (J4)
  • [ui (polonius)] tests/ui/scalable-vectors/project-into-field.rs: [missing] -> pass (J4)
  • [mir-opt] tests/mir-opt/sroa/scalable_sroa.rs: [missing] -> ignore (only executed when the architecture is aarch64) (J7)

Stage 2

  • [mir-opt] tests/mir-opt/sroa/scalable_sroa.rs: [missing] -> pass (J0)
  • [ui] tests/ui/scalable-vectors/project-into-field-extern.rs: [missing] -> pass (J0)
  • [mir-opt] tests/mir-opt/sroa/scalable_sroa.rs: [missing] -> ignore (only executed when the architecture is aarch64) (J2)
  • [ui] tests/ui/scalable-vectors/project-into-field.rs: [missing] -> ignore (gcc backend is marked as ignore) (J3)
  • [ui] tests/ui/assumptions_on_binders/object-candidate-regions-issue-157729.rs: [missing] -> pass (J5)
  • [ui] tests/ui/scalable-vectors/project-into-field-extern.rs: [missing] -> ignore (only executed when the architecture is aarch64) (J6)
  • [ui] tests/ui/scalable-vectors/project-into-field.rs: [missing] -> pass (J8)

Additionally, 26 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 12c36e2539c54397c51d6ea4401defd8768a4f5b --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-gcc-core-tests: 6m 27s -> 14m 10s (+119.3%)
  2. x86_64-gnu-stdlib-semver-check: 5m 36s -> 10m 29s (+87.3%)
  3. x86_64-mingw-2: 1h 36m -> 2h 39m (+65.0%)
  4. x86_64-mingw-1: 1h 46m -> 2h 51m (+61.1%)
  5. i686-gnu-2: 1h 6m -> 1h 43m (+55.5%)
  6. pr-check-2: 28m 26s -> 41m 23s (+45.6%)
  7. x86_64-gnu-gcc: 51m 23s -> 1h 13m (+42.2%)
  8. x86_64-gnu-parallel-frontend: 1h 27m -> 2h 2m (+40.9%)
  9. dist-sparcv9-solaris: 1h 10m -> 1h 37m (+37.9%)
  10. i686-gnu-nopt-1: 1h 39m -> 2h 15m (+36.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 (12c36e2): 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 (secondary -0.0%)

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

meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
0.9%[0.4%, 3.1%]9
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-2.1%[-5.7%, -0.6%]4
All ❌✅ (primary)--0

Cycles

Results (secondary -0.4%)

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

meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
0.6%[0.5%, 1.0%]7
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-0.9%[-2.8%, -0.4%]12
All ❌✅ (primary)--0

Binary size

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

Bootstrap: 455.478s -> 456.796s (0.29%)
Artifact size: 398.50 MiB -> 398.54 MiB (0.01%)

@JonathanBrouwer
JonathanBrouwer deleted the rollup-bas1App branch August 21, 2026 07:55
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-rustc-dev-guideArea: rustc-dev-guideA-testsuiteArea: The testsuite used to check the correctness of rustcmerged-by-borsThis PR was explicitly merged by bors.rollupA PR which is a rollupT-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.WG-trait-system-refactorThe Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@JonathanBrouwer@rust-timer@rustbot@Dnreikronos@bb1yd@nia-e@Kobzol@RalfJung@Walnut356@pheki@davidtwco@ChrisDenton