Skip to content

Rollup of 9 pull requests - #160863

Closed
JonathanBrouwer wants to merge 26 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-RAWntd8
Closed

Rollup of 9 pull requests#160863
JonathanBrouwer wants to merge 26 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-RAWntd8

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Contributor

Successful merges:

Failed merges:

r? @ghost

Create a similar rollup

s7tya and others added 26 commits June 13, 2026 05:44
Co-authored-by: Kivooeo <Kivooeo123@gmail.com>
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

fixes rust-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

Fixes rust-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
…=lcnr

Ensure inferred let pattern types are well-formed

same as rust-lang#157013 but with crater and fpc

r? lcnr
…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-bors rust-bors Bot added the rollup A PR which is a rollup label Aug 10, 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-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels Aug 10, 2026
@rustbot rustbot added 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
Contributor 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 10, 2026

Copy link
Copy Markdown
Contributor

📌 Commit cd6c365 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 10, 2026
@rust-bors

rust-bors Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

⌛ Trying commit cd6c365 with merge 4cb5e4f

To cancel the try build, run the command @bors try cancel.

Workflow: https://github.com/rust-lang/rust/actions/runs/31408388516

rust-bors Bot 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-log-analyzer

Copy link
Copy Markdown
Collaborator

The job x86_64-gnu-llvm-21-3 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
test [crashes] tests/crashes/148890.rs ... ok
test [crashes] tests/crashes/148632.rs ... ok
test [crashes] tests/crashes/149703.rs ... ok
test [crashes] tests/crashes/149809.rs ... ok
2026-08-10T16:50:51.796803Z ERROR compiletest::runtest: fatal error, panic: "crashtest no longer crashes/triggers ICE, hooray! Please give it a meaningful name, add a doc-comment to the start of the test explaining why it exists and move it to tests/ui or wherever you see fit. Adding 'Fixes #<issueNr>' to your PR description ensures that the corresponding ticket is auto-closed upon merge. If you want to see verbose output, set `COMPILETEST_VERBOSE_CRASHES=1`."
test [crashes] tests/crashes/150128.rs ... ok
test [crashes] tests/crashes/150040.rs ... FAILED
test [crashes] tests/crashes/150049.rs ... ok
test [crashes] tests/crashes/149748.rs ... ok
test [crashes] tests/crashes/150387.rs ... ok
---

---- [crashes] tests/crashes/150040.rs stdout ----
------rustc stdout------------------------------

------rustc stderr------------------------------
error[E0277]: the size for values of type `str` cannot be known at compilation time
##[error] --> /checkout/tests/crashes/150040.rs:4:9
  |
4 |     let [(ref a, b), x];
  |         ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
  |
  = help: the trait `Sized` is not implemented for `str`
  = note: only the last element of a tuple may have a dynamically sized type

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0277`.

------------------------------------------

error: crashtest no longer crashes/triggers ICE, hooray! Please give it a meaningful name, add a doc-comment to the start of the test explaining why it exists and move it to tests/ui or wherever you see fit. Adding 'Fixes #<issueNr>' to your PR description ensures that the corresponding ticket is auto-closed upon merge. If you want to see verbose output, set `COMPILETEST_VERBOSE_CRASHES=1`.

thread '[crashes] tests/crashes/150040.rs' panicked at src/tools/compiletest/src/runtest/crashes.rs:16:18:
fatal error
stack backtrace:
   5: __rustc::rust_begin_unwind

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job aarch64-gnu-llvm-21-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
test [crashes] tests/crashes/148632.rs ... ok
test [crashes] tests/crashes/149703.rs ... ok
test [crashes] tests/crashes/149809.rs ... ok
test [crashes] tests/crashes/150128.rs ... ok
2026-08-10T16:57:25.200870Z ERROR compiletest::runtest: fatal error, panic: "crashtest no longer crashes/triggers ICE, hooray! Please give it a meaningful name, add a doc-comment to the start of the test explaining why it exists and move it to tests/ui or wherever you see fit. Adding 'Fixes #<issueNr>' to your PR description ensures that the corresponding ticket is auto-closed upon merge. If you want to see verbose output, set `COMPILETEST_VERBOSE_CRASHES=1`."
test [crashes] tests/crashes/150040.rs ... FAILED
test [crashes] tests/crashes/150049.rs ... ok
test [crashes] tests/crashes/149748.rs ... ok
test [crashes] tests/crashes/150387.rs ... ok
test [crashes] tests/crashes/150403.rs ... ok
---

---- [crashes] tests/crashes/150040.rs stdout ----
------rustc stdout------------------------------

------rustc stderr------------------------------
error[E0277]: the size for values of type `str` cannot be known at compilation time
##[error] --> /checkout/tests/crashes/150040.rs:4:9
  |
4 |     let [(ref a, b), x];
  |         ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
  |
  = help: the trait `Sized` is not implemented for `str`
  = note: only the last element of a tuple may have a dynamically sized type

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0277`.

------------------------------------------

error: crashtest no longer crashes/triggers ICE, hooray! Please give it a meaningful name, add a doc-comment to the start of the test explaining why it exists and move it to tests/ui or wherever you see fit. Adding 'Fixes #<issueNr>' to your PR description ensures that the corresponding ticket is auto-closed upon merge. If you want to see verbose output, set `COMPILETEST_VERBOSE_CRASHES=1`.

thread '[crashes] tests/crashes/150040.rs' panicked at src/tools/compiletest/src/runtest/crashes.rs:16:18:
fatal error
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
---- [crashes] tests/crashes/150040.rs stdout end ----

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

rust-bors Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

PR #157841, which is a member of this rollup, was unapproved.

This rollup was thus unapproved.

@JonathanBrouwer

Copy link
Copy Markdown
Contributor Author

@bors try cancel

@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Aug 10, 2026
@rust-bors

rust-bors Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Try build cancelled. Cancelled workflows:

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

Labels

A-testsuite Area: The testsuite used to check the correctness of rustc 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-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)

Projects

None yet

Development

Successfully merging this pull request may close these issues.