Commit graph

290407 commits

Author SHA1 Message Date
Rémy Rakic
45197887cb move MaybeInitializedPlaces computation to where it's used
This dataflow analysis is only used by `liveness::trace`. We move it
there to make it lazy.
2025-05-27 21:21:28 +00:00
bors
c583fa6d84 Auto merge of #141644 - compiler-errors:rollup-gl5hize, r=compiler-errors
Rollup of 17 pull requests

Successful merges:

 - rust-lang/rust#140591 (Fix malformed suggestion for E0061 when method is a macro token in macro context)
 - rust-lang/rust#141536 (Improve `ambiguous_wide_pointer_comparisons` lint compare diagnostics)
 - rust-lang/rust#141552 (Pull out dedicated `cfg_version` syntax test from feature gate test)
 - rust-lang/rust#141556 (bootstrap: translate Windows paths in a way that works for both Cygwin and MSYS2)
 - rust-lang/rust#141563 (Remove out-of-date `noop_*` names.)
 - rust-lang/rust#141568 (dist: make sure llvm-project submodule is present)
 - rust-lang/rust#141580 (Use more detailed spans in dyn compat errors within bodies)
 - rust-lang/rust#141582 (intrinsics, ScalarInt: minor cleanup)
 - rust-lang/rust#141584 (Support `opaque_types_defined_by` for `SyntheticCoroutineBody`)
 - rust-lang/rust#141587 (Add missing edition directives for async-await tests)
 - rust-lang/rust#141594 (Add `generic_arg_infer` test)
 - rust-lang/rust#141596 (rustc book: fix erratic sentence by making it more simple)
 - rust-lang/rust#141599 (Remove an unnecessary use of `Box::into_inner`.)
 - rust-lang/rust#141611 (Update mdbook to 0.4.51)
 - rust-lang/rust#141616 (Remove spastorino from vacations)
 - rust-lang/rust#141623 (use custom types to clarify arguments to `emit_ptr_va_arg`)
 - rust-lang/rust#141635 (further dedup `WalkItemKind` for `mut_visit` and `visit`)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-05-27 15:43:55 +00:00
bors
642e49bfed Auto merge of #141641 - marcoieni:codebuild-ghcr-pr-job, r=Kobzol
ci: use ghcr registry for x86_64-gnu-tools job
2025-05-27 12:30:52 +00:00
Michael Goulet
d7e961a4c9
Rollup merge of #141635 - fee1-dead-contrib:push-lmyymwotrspk, r=oli-obk
further dedup `WalkItemKind` for `mut_visit` and `visit`

also some drive-by fixes.

r? oli-obk
2025-05-27 13:01:44 +02:00
Michael Goulet
f0ee1d7100
Rollup merge of #141623 - folkertdev:va-arg-explicit-types, r=workingjubilee
use custom types to clarify arguments to `emit_ptr_va_arg`

tracking issue: https://github.com/rust-lang/rust/issues/44930

split out of https://github.com/rust-lang/rust/pull/141622

r? ``@workingjubilee``
``@rustbot`` label: +F-c_variadic
2025-05-27 13:01:43 +02:00
Michael Goulet
1aa6a27ea6
Rollup merge of #141616 - spastorino:remove-spastorino-on-vacations, r=spastorino
Remove spastorino from vacations
2025-05-27 13:01:43 +02:00
Michael Goulet
761dbc788d
Rollup merge of #141611 - ehuss:update-mdbook, r=Mark-Simulacrum
Update mdbook to 0.4.51

This fixes a silly regression introduced in 0.4.50 that broke the search hotkey (https://github.com/rust-lang/rust/pull/141457).

Changelog: https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-0451
2025-05-27 13:01:42 +02:00
Michael Goulet
2de2e652ad
Rollup merge of #141599 - nnethercote:rm-Box-into_inner, r=fmease,chenyukang
Remove an unnecessary use of `Box::into_inner`.

r? ```@chenyukang```
2025-05-27 13:01:42 +02:00
Michael Goulet
4b47bd439e
Rollup merge of #141596 - tshepang:patch-2, r=Urgau
rustc book: fix erratic sentence by making it more simple
2025-05-27 13:01:41 +02:00
Michael Goulet
6344245e4f
Rollup merge of #141594 - BoxyUwU:another_gai_test, r=jieyouxu
Add `generic_arg_infer` test

I think most of our existing tests around behaviour of repeat expr inferred counts fail by not having enough inference progress, rather than by having enough inference progress but the element not actually implementing `Copy`.
2025-05-27 13:01:41 +02:00
Michael Goulet
38d18626b1
Rollup merge of #141587 - ferrocene:lw-yurotqzwvwlw, r=jieyouxu
Add missing edition directives for async-await tests

These tests specifically test 2015 edition behavior
2025-05-27 13:01:40 +02:00
Michael Goulet
9d46af12e0
Rollup merge of #141584 - compiler-errors:typing-env-synthetic-body, r=lcnr
Support `opaque_types_defined_by` for `SyntheticCoroutineBody`

We create a synthetic MIR body for the `AsyncFnOnce` impl for async closures. That body goes through all passes that a regular body does, including promotion.

Promotion sometimes requires computing that the type of an rvalue is `Freeze`, which requires computing the typing env of a body. This requires calling `opaque_types_defined_by` on the body's def id, which leads to an ICE today since we don't expect that query to be called for synthetic bodies.

While we could fix this by, for example, computing the typeck root of the body before calling a `TypingEnv` constructor, I think it's appropriate to do a more general fix here since I think it's reasonable that other passes might do analysis too.

Fixes rust-lang/rust#141466

r? ```@lcnr``` or ```@oli-obk```
2025-05-27 13:01:40 +02:00
Michael Goulet
fb4cc991c0
Rollup merge of #141582 - RalfJung:cleanup, r=bjorn3
intrinsics, ScalarInt: minor cleanup

Taken out of https://github.com/rust-lang/rust/pull/141507 while we resolve technical disagreements in that PR.

r? ``@bjorn3``
2025-05-27 13:01:39 +02:00
Michael Goulet
fbac805425
Rollup merge of #141580 - oli-obk:early-dyn-catches-the-incompat, r=compiler-errors
Use more detailed spans in dyn compat errors within bodies

Within bodies we can employ the full dyn compat check query instead of only doing the minimal hir ty lowerer one. This in turn gives us better spans and also silences many follow-up duplicate or bogus errors.

alternative to https://github.com/rust-lang/rust/pull/141439, tho I think I could turn the delayed bug from that one into a bug now instead of having an error code path.

r? `@compiler-errors`
cc `@fmease`
2025-05-27 13:01:38 +02:00
Michael Goulet
2c5361a309
Rollup merge of #141568 - onur-ozkan:141393-fix, r=Kobzol
dist: make sure llvm-project submodule is present

Zero-config `x install` fails when bootstrap tries to copy files from the LLVM submodule because it's not properly initialized/handled. This diff handles that.

Fixes https://github.com/rust-lang/rust/issues/141393
2025-05-27 13:01:38 +02:00
Michael Goulet
7acdffb6e4
Rollup merge of #141563 - nnethercote:rm-noop, r=petrochenkov
Remove out-of-date `noop_*` names.

`mut_visit.rs` has a single function with a `noop_` prefix: `noop_filter_map_expr`. This commit renames as `walk_filter_map_expr` which is consistent with other functions in this file.

The commit also removes out-of-date comments that refer to `noop_*` methods.

r? `@petrochenkov`
2025-05-27 13:01:37 +02:00
Michael Goulet
f1371a8891
Rollup merge of #141556 - jeremyd2019:patch-1, r=jieyouxu
bootstrap: translate Windows paths in a way that works for both Cygwin and MSYS2

Cygwin defaults to rooting Windows paths in /cygdrive/X, while MSYS2 configures them to be /X.  Regardless of configuration, drives are always accessible as /proc/cygdrive/X, so use that.

If there are other shells on Windows that are supported and use /X style paths, perhaps something more complicated needs to be done.

r? `@jieyouxu`

`@Berrysoft` `@mati865`
2025-05-27 13:01:37 +02:00
Michael Goulet
b7854c65a9
Rollup merge of #141552 - jieyouxu:cfg-version-tests, r=est31
Pull out dedicated `cfg_version` syntax test from feature gate test

Tracking issue: rust-lang/rust#64796.
Closes rust-lang/rust#141452, as a follow-up to https://github.com/rust-lang/rust/pull/141413#discussion_r2104490809 (point 3 of that is probably too pedantic).

The feature gate test was dual-purposing causing feature gate errors to distract from syntax exercises.

``@rustbot`` label +F-cfg_version
r? ``@est31``
2025-05-27 13:01:36 +02:00
Michael Goulet
a0d77f37f3
Rollup merge of #141536 - Urgau:ambi_wide_ptr-cmp-diag, r=fee1-dead
Improve `ambiguous_wide_pointer_comparisons` lint compare diagnostics

This PR improves the `ambiguous_wide_pointer_comparisons` lint compare diagnostics: `cmp`/`partial_cmp`, but also the operators `<`/`>`/`>=`/`<=`, by:
1. removing the reference to `std::ptr::addr_eq` which only works for equality
2. and adding an `#[expect]` suggestion for keeping the current behavior

Fixes rust-lang/rust#141510
2025-05-27 13:01:36 +02:00
Michael Goulet
77e35944af
Rollup merge of #140591 - Kivooeo:new-fix-five, r=davidtwco
Fix malformed suggestion for E0061 when method is a macro token in macro context

fixes #140512

before
```rust
3  -         <Self>::$method(8)
3  +         <Self>::<Self>::$method(8, /* u8 */)
```
now
```rust
3  |         <Self>::$method(8, /* u8 */)
   |                          ++++++++++
```
2025-05-27 13:01:35 +02:00
MarcoIeni
7314994008
ci: use ghcr registry for x86_64-gnu-tools job 2025-05-27 11:23:05 +02:00
bors
0fc6f1672b Auto merge of #141634 - Kobzol:try-perf, r=pietroalbini
Fix CI for unrolled builds on the `try-perf` branch

That branch is essentially the same as the `try` branch, it also needs S3 permissions. While at it, I cleaned up secret loading a bit.

Long term, we should move rollup unrolling from rustc-perf to bors, so that we can have only a single try branch.

The AWS Terraform configuration will also have to be changed to provide the secrets (the `bors` environment) also for the `try-perf` branch.

r? `@marcoieni`
2025-05-27 09:19:15 +00:00
Nicholas Nethercote
89c21f7c1a Remove out-of-date noop_* names.
`mut_visit.rs` has a single function with a `noop_` prefix:
`noop_filter_map_expr`. This commit renames as `walk_filter_map_expr`
which is consistent with other functions in this file.

The commit also removes out-of-date comments that refer to `noop_*`
methods.
2025-05-27 19:16:11 +10:00
Oli Scherer
3fff727e87 Use more detailed spans in dyn compat errors within bodies 2025-05-27 08:18:11 +00:00
Deadbeef
e0d4cf38f4 further dedup WalkItemKind for mut_visit and visit
also some drive-by fixes.
2025-05-27 14:54:02 +08:00
Jakub Beránek
7fae5efa4d
Fix CI for unrolled builds on the try-perf branch
That branch is essentially the same as the `try` branch, it also needs S3 permissions.

Long term, we should move rollup unrolling from rustc-perf to bors, so that we can have only a single try branch.
2025-05-27 08:44:51 +02:00
bors
d76fe15402 Auto merge of #140790 - quininer:mac-xray, r=wesleywiser,jieyouxu
Enable xray support for Mac

https://github.com/rust-lang/rust/issues/102921

Upstream has supported Mac for a while, let's enable it.

I've tested it on M4 and it generates nop sled correctly.

* https://maskray.me/blog/2023-06-18-port-llvm-xray-to-apple-systems
* https://github.com/llvm/llvm-project/blob/llvmorg-20.1.4/clang/lib/Driver/XRayArgs.cpp#L31

try-job: x86_64-apple-1
try-job: aarch64-apple
2025-05-26 23:44:21 +00:00
Folkert de Vries
7fe8263285
use custom types to clarify arguments to emit_ptr_va_arg 2025-05-27 01:24:19 +02:00
Santiago Pastorino
c8ed2a7423
Remove spastorino from vacations 2025-05-26 18:13:54 -03:00
bors
2805e1dc4c Auto merge of #141605 - jieyouxu:rollup-3gjqh5l, r=jieyouxu
Rollup of 10 pull requests

Successful merges:

 - rust-lang/rust#140898 (minor improvements on running miri)
 - rust-lang/rust#141392 (Avoid obligation construction dance with query region constraints)
 - rust-lang/rust#141431 (Emit dummy open drop for unsafe binder)
 - rust-lang/rust#141433 (Properly analyze captures from unsafe binders)
 - rust-lang/rust#141439 (Deduplicate dyn compatibility violations due to coercion)
 - rust-lang/rust#141449 (further deduplicate ast visitor code)
 - rust-lang/rust#141513 (interpret: add allocation parameters to `AllocBytes`)
 - rust-lang/rust#141516 (speed up charsearcher for ascii chars)
 - rust-lang/rust#141526 (add a dedicated section for compiler environment variables in the unstable book)
 - rust-lang/rust#141550 (Fix `unused_braces` lint suggestion when encountering attributes)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-05-26 20:30:06 +00:00
Eric Huss
6a8663ae26 Update mdbook to 0.4.51
This fixes a silly regression introduced in 0.4.50 that broke the search
hotkey (https://github.com/rust-lang/rust/pull/141457).

Changelog: https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-0451
2025-05-26 12:01:43 -07:00
Jeremy Drake
108c16eebd bootstrap: translate Windows paths in a way that works for both Cygwin and MSYS2
Cygwin defaults to rooting Windows paths in /cygdrive/X, while MSYS2
configures them to be /X.  Regardless of configuration, drives are
always accessible as /proc/cygdrive/X, so use that.
2025-05-26 10:31:56 -07:00
许杰友 Jieyou Xu (Joe)
bca4279457
Rollup merge of #141550 - Urgau:unused_braces-attrs, r=chenyukang
Fix `unused_braces` lint suggestion when encountering attributes

This PR fixes the `unused_braces` lint suggestion when encountering attributes by not removing them in the suggestion.

Fixes rust-lang/rust#141549
2025-05-27 01:29:22 +08:00
许杰友 Jieyou Xu (Joe)
d5a26c5660
Rollup merge of #141526 - jyn514:env-vars, r=petrochenkov
add a dedicated section for compiler environment variables in the unstable book

rendered: ![image](https://github.com/user-attachments/assets/dcb6e2a3-2e2d-43bb-8f45-79715705bf45)

fixes https://github.com/rust-lang/rust/issues/141523
2025-05-27 01:29:21 +08:00
许杰友 Jieyou Xu (Joe)
408dc51f97
Rollup merge of #141516 - bend-n:okay, r=workingjubilee
speed up charsearcher for ascii chars

attempt at fixing rust-lang/rust#82471

this implementation should be valid because ascii characters are always one byte and there are no continuation bytes that overlap with ascii characters

im not completely sure that this is _always_ an improvement but it seems to be an improvement for this case and i dont think it can significantly regress any cases
2025-05-27 01:29:20 +08:00
许杰友 Jieyou Xu (Joe)
afb57cadda
Rollup merge of #141513 - nia-e:allocbytes-extend, r=RalfJung
interpret: add allocation parameters to `AllocBytes`

Necessary for a better implementation of [rust-lang/miri#4343](https://github.com/rust-lang/miri/pull/4343). Also included here is the code from that PR, adapted to this new interface for the sake of example and so that CI can run on them; the Miri changes can be reverted and merged separately, though.

r? `@RalfJung`
2025-05-27 01:29:20 +08:00
许杰友 Jieyou Xu (Joe)
be778ed1f8
Rollup merge of #141449 - fee1-dead-contrib:push-qkosmtkqztkk, r=oli-obk
further deduplicate ast visitor code

Previous PR: #141249

Tracking issue: #127615

r? `@oli-obk`
2025-05-27 01:29:19 +08:00
许杰友 Jieyou Xu (Joe)
92b07de1ca
Rollup merge of #141439 - compiler-errors:dyn-compatible-coerce, r=oli-obk
Deduplicate dyn compatibility violations due to coercion

Don't unnecessarily emit dyn compatibility violations due to coercion to a non-dyn-compatible target type.

For us to even have that target type, we would have had to write `dyn Trait` somewhere in source, and that would have led to us *already* emitting a dyn compatibility violation when checking that user written type is WF.

r? oli-obk
2025-05-27 01:29:19 +08:00
许杰友 Jieyou Xu (Joe)
9f93c48ddc
Rollup merge of #141433 - compiler-errors:unsafe-binder-captures, r=oli-obk
Properly analyze captures from unsafe binders

We need to represent the unsafe binder unwrap as an adjustment in HIR. Pretty straightforward b/c we already represent it as a projection elem in MIR.

Fixes #141418
Fixes #141417

r? oli-obk
2025-05-27 01:29:18 +08:00
许杰友 Jieyou Xu (Joe)
0e710d0883
Rollup merge of #141431 - compiler-errors:open-drop, r=oli-obk
Emit dummy open drop for unsafe binder

Fixes rust-lang/rust#141394

We can't taint the body in wfcheck when we have a `T: Copy` bound failure, so we end up binding MIR here. Emit a dummy open drop so that drop elaboration doesn't fail.

r? oli-obk
2025-05-27 01:29:18 +08:00
许杰友 Jieyou Xu (Joe)
aa9978229e
Rollup merge of #141392 - compiler-errors:query-outlives, r=lcnr
Avoid obligation construction dance with query region constraints

And some renaming...
2025-05-27 01:29:17 +08:00
许杰友 Jieyou Xu (Joe)
0912d1f06a
Rollup merge of #140898 - onur-ozkan:miri-run, r=Kobzol
minor improvements on running miri

It should be clear from the commit messages when reviewing them one by one.
2025-05-27 01:29:16 +08:00
bors
40d2563ea2 Auto merge of #141500 - compiler-errors:rerun-cache-2, r=lcnr
Don't rerun goals if none of their vars have changed

r? `@ghost`

Alternative to rust-lang/rust#141488. I'm pretty sure that we don't need to re-run the goal at all if the inputs don't change... 🤔
2025-05-26 17:02:43 +00:00
Nicholas Nethercote
19802e8e9c Remove an unnecessary use of Box::into_inner. 2025-05-27 02:06:40 +10:00
Tshepang Mbambo
0497f31122
rustc book: fix erratic sentence by making it more simple 2025-05-26 17:55:03 +02:00
Boxy
c27aff35ca Add test 2025-05-26 16:35:36 +01:00
bors
9c0bcb514f Auto merge of #141442 - compiler-errors:fast-path-pred, r=lcnr
Fold predicate fast path in canonicalizer and eager resolver

See individual commits.

r? lcnr
2025-05-26 13:42:30 +00:00
Lukas Wirth
1d35ac9ce0 Add missing edition directives for async-await tests 2025-05-26 14:59:48 +02:00
Michael Goulet
5e31cd30aa Support opaque_types_defined_by for SyntheticCoroutineBody 2025-05-26 12:19:34 +00:00
Jieyou Xu
0ea12c3c5f
cfg_version: pull out dedicated syntax test from feature gate test
The feature gate test was dual-purposing causing feature gate errors to
distract from syntax exercises.
2025-05-26 19:58:33 +08:00