Skip to content

Rollup of 10 pull requests #140529

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 446 commits into from
Apr 30, 2025
Merged

Rollup of 10 pull requests #140529

merged 446 commits into from
Apr 30, 2025

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

snprajwal and others added 30 commits April 3, 2025 14:38
This was being used by a single assist, which qualifies under the "refactor"
kind. The variant has been removed, and all usages updated accordingly.

Signed-off-by: Prajwal S N <[email protected]>
fix(ide-assists): remove `AssistKind::None`
…s-string

Fix color brackets in string context
Signed-off-by: Prajwal S N <[email protected]>
A Cargo project can now be built without any dependency metadata being fetched.

Signed-off-by: Prajwal S N <[email protected]>
Implicit field references during struct initialization were
being dropped because get_definition was returning None because
there were multiple definitions.

This adds a new helper, `get_defintions`, that supports returning
more than one definition for a given token and hooks it up.

Fixes rust-lang#19393
Align usage of `default` and `new` with style guide
fix: don't drop references with more than one definition.
…anic-in-view-crate-graph

internal: fix panic in `view_crate_graph`
…alsafied-crate-graph-with-lazy-project-discovery

internal: ensure a Salsa-ified crate graph works with project discovery
…deps

feat(project-model): provide flag for no deps
The rustdoc file prefix for constants is "constant" not "const"
fix: Fix a bug in MBE expansion that arose from incorrect fixing of an older bug in MBE
fix: Fix `format_args` lowering for >=1.87
chore: Set up a proper job matrix for rust-cross
fix: Yet another false positive invalid cast diagnostic
mejrs and others added 16 commits April 29, 2025 18:42
I had trouble easily understanding what these various flags do. This is
my attempt to try to explain what these do.
Subtree update of `rust-analyzer`

r? ````@ghost````
…pped-tuple-ice, r=oli-obk

Fix for async drop ice with partly dropped tuple

Fixes rust-lang#140427.
Problem was with block data access with block id from new added blocks in patch.
chore: edit and move tests

I deleted `ui/non-copyable-void.rs`: added in rust-lang@ab4105d to test that "nonconstructable" enums are "noncopyable", but these properties are not correlated anymore.

Second commit is kinda messy because I moved/edited/renamed some files at the same time, but I deleted nothing there.
Don't FCW assoc consts in patterns

Fixes rust-lang#140447

See comment in added test. We could also check that the anon const is a const arg by looking at the HIR. I'm not sure that's necessary though 🤔 The only consts that are evaluated "for the type system" are const args (which *should* get FCWs) and const patterns (which cant be anon consts afaik).
… r=lcnr

Minor tweaks to make some normalization (adjacent) code less confusing

r? lcnr

sorry for double ping lol
CI: rfl: move job forward to Linux v6.15-rc4

A hopefully routine upgrade to Linux v6.15-rc4!

r? `````@lqd````` `````@Kobzol`````
try-job: x86_64-rust-for-linux
`````@rustbot````` label A-rust-for-linux
`````@bors````` try
chore: delete unused ui/auxiliary crates

It appears that all the tests that used it have been moved to tests/ui/editions/ (or elsewhere) already.

r? `````@jieyouxu`````
Require sanitizers be enabled for asan_odr_windows.rs

Issue Details:
The `asan_odr_windows.rs` test is failing on AArch64 Windows, as sanitizers aren't supported on that platform.

Fix Details:
Apply the correct "need sanitizer" requirements to the test.
…bool-lit, r=calebcartwright

rustfmt: Also allow bool literals as first item of let chain

This is a functional cherry-pick of rust-lang/rustfmt#6492

I'm bringing this change over directly as the subtree sync is taking more effort than anticipated (some unrelated r-l/rustfmt changes need to be reverted before we perform the full sync) and we need to ensure that rustfmt behavior accounts with the final style guide rules as part of let chain stabilization.

r? ````@ghost````
…viscross,SparrowLii

Parser: Document restrictions

I had trouble easily understanding what these various flags do. This is my attempt to try to explain what these do.
@rustbot rustbot added the rollup A PR which is a rollup label Apr 30, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Apr 30, 2025

📌 Commit a477172 has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Apr 30, 2025
@bors
Copy link
Collaborator

bors commented Apr 30, 2025

⌛ Testing commit a477172 with merge b45dd71...

@bors
Copy link
Collaborator

bors commented Apr 30, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing b45dd71 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Apr 30, 2025
@bors bors merged commit b45dd71 into rust-lang:master Apr 30, 2025
7 checks passed
@rustbot rustbot added this to the 1.88.0 milestone Apr 30, 2025
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 251cda5 (parent) -> b45dd71 (this PR)

Test differences

Show 25 test diffs

Stage 1

  • [ui] tests/ui/async-await/async-drop/partly-dropped-tuple.rs: [missing] -> pass (J0)
  • [ui] tests/ui/catch-unwind-bang.rs: pass -> [missing] (J0)
  • [ui] tests/ui/cfguard-run.rs: pass -> [missing] (J0)
  • [ui] tests/ui/codegen/cfguard-run.rs: [missing] -> pass (J0)
  • [ui] tests/ui/const-generics/const_eval_unchecked_doesnt_fire_patterns.rs: [missing] -> pass (J0)
  • [ui] tests/ui/error-emitter/error-festival.rs: [missing] -> pass (J0)
  • [ui] tests/ui/error-festival.rs: pass -> [missing] (J0)
  • [ui] tests/ui/non-copyable-void.rs: pass -> [missing] (J0)
  • [ui] tests/ui/panics/catch-unwind-bang.rs: [missing] -> pass (J0)
  • [ui] tests/ui/removing-extern-crate.rs: pass -> [missing] (J0)
  • [ui] tests/ui/rust-2018/removing-extern-crate.rs: [missing] -> pass (J0)
  • [ui] tests/ui/sanitizer/asan_odr_windows.rs: ignore (only executed when the operating system and target environment are windows-msvc) -> ignore (ignored on targets without sanitizers support) (J0)

Stage 2

  • [ui] tests/ui/async-await/async-drop/partly-dropped-tuple.rs: [missing] -> pass (J1)
  • [ui] tests/ui/catch-unwind-bang.rs: pass -> [missing] (J1)
  • [ui] tests/ui/cfguard-run.rs: pass -> [missing] (J1)
  • [ui] tests/ui/codegen/cfguard-run.rs: [missing] -> pass (J1)
  • [ui] tests/ui/const-generics/const_eval_unchecked_doesnt_fire_patterns.rs: [missing] -> pass (J1)
  • [ui] tests/ui/error-emitter/error-festival.rs: [missing] -> pass (J1)
  • [ui] tests/ui/error-festival.rs: pass -> [missing] (J1)
  • [ui] tests/ui/non-copyable-void.rs: pass -> [missing] (J1)
  • [ui] tests/ui/panics/catch-unwind-bang.rs: [missing] -> pass (J1)
  • [ui] tests/ui/removing-extern-crate.rs: pass -> [missing] (J1)
  • [ui] tests/ui/rust-2018/removing-extern-crate.rs: [missing] -> pass (J1)
  • [ui] tests/ui/sanitizer/asan_odr_windows.rs: ignore (only executed when the operating system and target environment are windows-msvc) -> ignore (ignored on targets without address sanitizer) (J2)
  • [ui] tests/ui/sanitizer/asan_odr_windows.rs: ignore (only executed when the operating system and target environment are windows-msvc) -> ignore (ignored on targets without sanitizers support) (J3)

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard b45dd71d1824f176fba88f6c40467030a16afa2c --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-apple-various: 8938.2s -> 7325.4s (-18.0%)
  2. dist-riscv64-linux: 5068.2s -> 5825.3s (14.9%)
  3. x86_64-gnu-tools: 5636.9s -> 6417.5s (13.8%)
  4. x86_64-msvc-ext3: 7926.0s -> 6971.8s (-12.0%)
  5. x86_64-apple-2: 5072.7s -> 5647.7s (11.3%)
  6. dist-aarch64-apple: 4990.5s -> 5535.0s (10.9%)
  7. dist-aarch64-msvc: 9076.7s -> 8286.3s (-8.7%)
  8. x86_64-msvc-1: 8552.5s -> 9105.4s (6.5%)
  9. x86_64-msvc-2: 6738.1s -> 7153.4s (6.2%)
  10. i686-msvc-1: 9224.3s -> 9659.7s (4.7%)
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
#140385 Subtree update of rust-analyzer 9dcdd47d03b65e421b15df3f6cace8fb0309df49 (link)
#140458 Fix for async drop ice with partly dropped tuple 373089263e7bbef74db796d7e7ce2b4760b420e7 (link)
#140465 chore: edit and move tests 4fa243b20b210993a867441e141c078a1ac529d1 (link)
#140467 Don't FCW assoc consts in patterns 5cfd62952e7b81f1968c763280add72a6a484f45 (link)
#140468 Minor tweaks to make some normalization (adjacent) code les… 80b4180a56973e5a4e17cce335f1d1a861989d4c (link)
#140470 CI: rfl: move job forward to Linux v6.15-rc4 d6693695ecf3e29dea982c1358d3c23eb501c8be (link)
#140476 chore: delete unused ui/auxiliary crates dea2e150cc7efdc28b79ddd59aac02c4167bb644 (link)
#140481 Require sanitizers be enabled for asan_odr_windows.rs 41d9b109b3089cf461afb7ee19282ed9920770a4 (link)
#140486 rustfmt: Also allow bool literals as first item of let chain 26918d5f43eb2aefb117748954fb04f7622d99f7 (link)
#140494 Parser: Document restrictions 29e67d58b5f2fa2257ae93b534608b68d72ce223 (link)

previous master: 251cda5e1f

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 (b45dd71): comparison URL.

Overall result: ❌ regressions - please read the text below

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

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

Max RSS (memory usage)

Results (primary -0.3%, secondary 2.0%)

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)
2.1% [0.4%, 3.1%] 3
Regressions ❌
(secondary)
4.1% [3.8%, 4.4%] 2
Improvements ✅
(primary)
-0.9% [-4.8%, -0.4%] 12
Improvements ✅
(secondary)
-2.2% [-2.2%, -2.2%] 1
All ❌✅ (primary) -0.3% [-4.8%, 3.1%] 15

Cycles

Results (primary -0.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.9% [0.4%, 2.8%] 6
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.6% [-0.9%, -0.4%] 13
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.1% [-0.9%, 2.8%] 19

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

Bootstrap: 769.968s -> 767.216s (-0.36%)
Artifact size: 365.58 MiB -> 365.58 MiB (0.00%)

@rustbot rustbot added the perf-regression Performance regression. label May 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. 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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.