Skip to content

Rollup of 17 pull requests #141644

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 35 commits into from
May 27, 2025
Merged

Rollup of 17 pull requests #141644

merged 35 commits into from
May 27, 2025

Conversation

compiler-errors
Copy link
Member

@compiler-errors compiler-errors commented May 27, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Kivooeo and others added 30 commits May 7, 2025 21:51
The feature gate test was dual-purposing causing feature gate errors to
distract from syntax exercises.
…n 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.
This fixes a silly regression introduced in 0.4.50 that broke the search
hotkey (rust-lang#141457).

Changelog: https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-0451
`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.
Fix malformed suggestion for E0061 when method is a macro token in macro context

fixes rust-lang#140512

before
```rust
3  -         <Self>::$method(8)
3  +         <Self>::<Self>::$method(8, /* u8 */)
```
now
```rust
3  |         <Self>::$method(8, /* u8 */)
   |                          ++++++++++
```
…e1-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#141510
Pull out dedicated `cfg_version` syntax test from feature gate test

Tracking issue: rust-lang#64796.
Closes rust-lang#141452, as a follow-up to rust-lang#141413 (comment) (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``
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`
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`
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 rust-lang#141393
…mpat, 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 rust-lang#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`
intrinsics, ScalarInt: minor cleanup

Taken out of rust-lang#141507 while we resolve technical disagreements in that PR.

r? ``@bjorn3``
…ic-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#141466

r? ```@lcnr``` or ```@oli-obk```
Add missing edition directives for async-await tests

These tests specifically test 2015 edition behavior
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`.
rustc book: fix erratic sentence by making it more simple
…crum

Update mdbook to 0.4.51

This fixes a silly regression introduced in 0.4.50 that broke the search hotkey (rust-lang#141457).

Changelog: https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-0451
…cations, r=spastorino

Remove spastorino from vacations
…r=workingjubilee

use custom types to clarify arguments to `emit_ptr_va_arg`

tracking issue: rust-lang#44930

split out of rust-lang#141622

r? ``@workingjubilee``
``@rustbot`` label: +F-c_variadic
…k, r=oli-obk

further dedup `WalkItemKind` for `mut_visit` and `visit`

also some drive-by fixes.

r? oli-obk
@rustbot rustbot added A-meta Area: Issues & PRs about the rust-lang/rust repository itself 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. T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels May 27, 2025
@compiler-errors
Copy link
Member Author

i dont care if this rollup is 17 prs large let me cook

@bors r+ rollup=never p=8

@bors
Copy link
Collaborator

bors commented May 27, 2025

📌 Commit d7e961a has been approved by compiler-errors

It is now in the queue for this repository.

@bors bors 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 May 27, 2025
@bors
Copy link
Collaborator

bors commented May 27, 2025

⌛ Testing commit d7e961a with merge c583fa6...

@bors
Copy link
Collaborator

bors commented May 27, 2025

☀️ Test successful - checks-actions
Approved by: compiler-errors
Pushing c583fa6 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label May 27, 2025
@bors bors merged commit c583fa6 into rust-lang:master May 27, 2025
8 checks passed
@rustbot rustbot added this to the 1.89.0 milestone May 27, 2025
@Kobzol
Copy link
Contributor

Kobzol commented May 27, 2025

You madman, you did it! Congratz. Now let's hope that unrolled builds are fixed and they'll work here.

Copy link

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 642e49b (parent) -> c583fa6 (this PR)

Test differences

Show 110 test diffs

Stage 1

  • [ui] tests/ui/async-await/async-closures/promote-in-body.rs: [missing] -> pass (J1)
  • [ui] tests/ui/cfg/cfg-version/syntax.rs: [missing] -> pass (J1)
  • [ui] tests/ui/repeat-expr/copy-check-when-count-inferred-later.rs: [missing] -> pass (J1)

Stage 2

  • [ui] tests/ui/async-await/async-closures/promote-in-body.rs: [missing] -> pass (J0)
  • [ui] tests/ui/cfg/cfg-version/syntax.rs: [missing] -> pass (J0)
  • [ui] tests/ui/repeat-expr/copy-check-when-count-inferred-later.rs: [missing] -> pass (J0)

Additionally, 104 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 c583fa6d8425dbb38fe5d1dbd007f9ca8e4aa128 --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. dist-x86_64-apple: 7026.5s -> 9058.9s (28.9%)
  2. dist-apple-various: 6829.4s -> 8271.3s (21.1%)
  3. aarch64-gnu: 7878.2s -> 6529.7s (-17.1%)
  4. x86_64-apple-1: 7047.4s -> 7578.9s (7.5%)
  5. x86_64-msvc-2: 6753.1s -> 7222.3s (6.9%)
  6. x86_64-gnu-llvm-19-3: 7420.5s -> 6964.7s (-6.1%)
  7. dist-riscv64-linux: 5281.2s -> 4959.0s (-6.1%)
  8. aarch64-apple: 4899.4s -> 5178.0s (5.7%)
  9. mingw-check: 1238.6s -> 1303.2s (5.2%)
  10. dist-aarch64-apple: 5780.6s -> 6017.2s (4.1%)
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
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#140591 Fix malformed suggestion for E0061 when method is a macro t… 911461bb6e6b78d5eb905d85d3eb491a9400b417 (link)
#141536 Improve ambiguous_wide_pointer_comparisons lint compare d… 53a96a83098e8c6e8270d771772388a8e87d9af9 (link)
#141552 Pull out dedicated cfg_version syntax test from feature g… 79a87c3fe00d1448331b65200eef681721b338d1 (link)
#141556 bootstrap: translate Windows paths in a way that works for … dda0b3c94fb0779ade811a7f38737b09881daccd (link)
#141563 Remove out-of-date noop_* names. 269a1e82539aa583a35f0010a5cbf5a8dd7ab4d9 (link)
#141568 dist: make sure llvm-project submodule is present fbc85fc9a4a74750a1f158ef702856f44be8b150 (link)
#141580 Use more detailed spans in dyn compat errors within bodies 092c365a017d0ab2ad9cb8d2e4f58db185878f17 (link)
#141582 intrinsics, ScalarInt: minor cleanup 6d5f9b9bcc23079ebb883e59596eca34d4e76172 (link)
#141584 Support opaque_types_defined_by for `SyntheticCoroutineBo… c3feac57a386959461f464f5fb3af616800d6a16 (link)
#141587 Add missing edition directives for async-await tests c7c72d04afcf426ce8791339fa1634be05171793 (link)
#141594 Add generic_arg_infer test 86dab44b2ab381d0b5a35fea1517a29208c9ec61 (link)
#141596 rustc book: fix erratic sentence by making it more simple e0529d46091224e03dfee9071b8a6464df6229f2 (link)
#141599 Remove an unnecessary use of Box::into_inner. 0ccdea7c44f243e3a6632ad416fb99e1a35d37a1 (link)
#141611 Update mdbook to 0.4.51 2aaec7cc9a077815d402d689622b0ab5a6a8956c (link)
#141616 Remove spastorino from vacations df2193d9f65f88b583f649d1133b3ec3645f7d0a (link)
#141623 use custom types to clarify arguments to emit_ptr_va_arg eaa92149e744caf67ad1f6faa7e7a7b83ad2684b (link)
#141635 further dedup WalkItemKind for mut_visit and visit 4e93674715d9712f82622a7abbcbcec17bd7e10a (link)

previous master: 642e49bfed

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

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (c583fa6): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-2.8% [-2.8%, -2.8%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -2.8% [-2.8%, -2.8%] 1

Max RSS (memory usage)

Results (primary 1.2%, secondary 2.3%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
1.2% [1.2%, 1.2%] 1
Regressions ❌
(secondary)
2.3% [1.3%, 3.2%] 10
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 1.2% [1.2%, 1.2%] 1

Cycles

Results (primary -2.5%, secondary -5.2%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-2.5% [-2.9%, -2.2%] 2
Improvements ✅
(secondary)
-5.2% [-7.1%, -3.4%] 2
All ❌✅ (primary) -2.5% [-2.9%, -2.2%] 2

Binary size

Results (primary -1.1%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

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

Bootstrap: 780.121s -> 779.145s (-0.13%)
Artifact size: 366.40 MiB -> 366.36 MiB (-0.01%)

@compiler-errors compiler-errors deleted the rollup-gl5hize branch May 27, 2025 22:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-meta Area: Issues & PRs about the rust-lang/rust repository itself merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. 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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.