Skip to content

Rollup of 9 pull requests #142956

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 18 commits into from
Jun 24, 2025
Merged

Rollup of 9 pull requests #142956

merged 18 commits into from
Jun 24, 2025

Conversation

GuillaumeGomez
Copy link
Member

@GuillaumeGomez GuillaumeGomez commented Jun 24, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

mlowicki and others added 18 commits June 16, 2025 09:15
This shouldn't have worked originally, as far as we can tell.
In an interactive context, the subprocess inherited a real tty stdin,
which lead it it waiting for something to happen, even though nothing
happened. By explicitly passing null as stdin we make sure an empty file
is passed, which achieves the desired behavior.
Because in the case of for example

    pub fn my_fn3(f: impl FnMut()) {}

we want to keep `()` even if it is empty since that matches e.g. Rust
syntax requirements.
compiletest: Improve diagnostics for line annotation mismatches

When some line annotations are missing or misplaced, compiletest reports an error, but the error is not very convenient.
This PR attempts to improve the user experience.

- The "expected ... not found" messages are no longer duplicated.
- The `proc_res.status` and `proc_res.cmdline` message is no longer put in the middle of other messages describing the annotation mismatches, it's now put into the end.
- Compiletest now makes suggestions if there are fuzzy matches between expected and actually reported errors (e.g. the annotation is put on a wrong line).
- Missing diagnostic kinds are no longer produce an error eagerly, but instead treated as always mismatching kinds, so they can produce suggestions telling the right kind.

I'll post screenshots in the thread below, but the behavior shown on the screenshots can be reproduced locally using the new test `tests/ui/compiletest-self-test/line-annotation-mismatches.rs`.

This also fixes rust-lang#140940.

r? ``@jieyouxu``
…, r=GuillaumeGomez

Fixes firefox copy paste issue
…_during_method_dispatch, r=jdonszelmann

Port `#[rustc_skip_during_method_dispatch]` to the new attribute system

Part of rust-lang#131229

r? ``@jdonszelmann``
Add note about `str::split` handling of no matches.

Adds small note and example to the test for a non matching pattern

resolves rust-lang#142734
phantom_variance_markers: fix identifier usage in macro

This shouldn't have worked originally, as far as we can tell.
Fixes an implementation detail of rust-lang#135806.
Fix hang in --print=file-names in bootstrap

In an interactive context, the subprocess inherited a real tty stdin, which lead it it waiting for something to happen, even though nothing happened. By explicitly passing null as stdin we make sure an empty file is passed, which achieves the desired behavior.

Fixes rust-lang#142926 (verified locally by cherry-picking the patch onto beta where I was building).
… r=aDotInTheVoid

rustdoc-json: Keep empty generic args if parenthesized

Because in the case of for example

    pub fn my_fn3(f: impl FnMut()) {}

we want to keep `()` even if it is empty since that matches e.g. Rust syntax requirements.

This is an amendment to rust-lang#142502, so:
r? ``@aDotInTheVoid``
cc ``@nnethercote``

cc cargo-public-api/cargo-public-api#798
…i, r=lcnr

Simplify root goal API of solver a bit

Root goal API is more easily distinguished between proof tree and non-proof tree, rather than `eval_goal` vs `eval_goal_raw`.

r? lcnr
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-compiletest Area: The compiletest test runner A-rustdoc-json Area: Rustdoc JSON backend A-testsuite Area: The testsuite used to check the correctness of rustc O-unix Operating system: Unix-like PG-exploit-mitigations Project group: Exploit mitigations 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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. labels Jun 24, 2025
@rustbot rustbot added WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Jun 24, 2025
@GuillaumeGomez
Copy link
Member Author

@bors r+ p=5 rollup=never

@bors
Copy link
Collaborator

bors commented Jun 24, 2025

📌 Commit 7b864ac has been approved by GuillaumeGomez

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 Jun 24, 2025
@bors
Copy link
Collaborator

bors commented Jun 24, 2025

⌛ Testing commit 7b864ac with merge 36b2163...

@bors
Copy link
Collaborator

bors commented Jun 24, 2025

☀️ Test successful - checks-actions
Approved by: GuillaumeGomez
Pushing 36b2163 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jun 24, 2025
@bors bors merged commit 36b2163 into rust-lang:master Jun 24, 2025
11 checks passed
@rustbot rustbot added this to the 1.90.0 milestone Jun 24, 2025
@GuillaumeGomez GuillaumeGomez deleted the rollup-867246h branch June 24, 2025 13:37
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#140005 Set MSG_NOSIGNAL for UnixStream e7c09929e39fa9aa08234c164148ddf6737f4429 (link)
#140622 compiletest: Improve diagnostics for line annotation mismat… 872124ec7905ccd3e63696b4ea1b5f8c8391ac70 (link)
#142354 Fixes firefox copy paste issue 6415a9dea6ee116cad2caf906fa4b552b20ace14 (link)
#142695 Port #[rustc_skip_during_method_dispatch] to the new attr… cbd91affcb62e11d67bacc75e48373ae8e3db1d0 (link)
#142779 Add note about str::split handling of no matches. c9f7d9f49a21b125a39c2e2a368d64d502090063 (link)
#142894 phantom_variance_markers: fix identifier usage in macro 4276398280f8858be1238f5755db4a5f03b2d699 (link)
#142928 Fix hang in --print=file-names in bootstrap ca8cbc41ca3e81cc470f8e3ef7e4ceb73868d486 (link)
#142932 rustdoc-json: Keep empty generic args if parenthesized 0962bdd1753774f362e80244319da60ebde78b40 (link)
#142933 Simplify root goal API of solver a bit 8a1d63aaabd0b472753a2754213f7227a5a53519 (link)

previous master: e4b9d0141f

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

Copy link
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 e4b9d01 (parent) -> 36b2163 (this PR)

Test differences

Show 252 test diffs

Stage 1

  • [ui] tests/ui/attributes/rustc_skip_during_method_dispatch.rs: [missing] -> pass (J1)
  • [ui] tests/ui/compiletest-self-test/line-annotation-mismatches.rs: [missing] -> pass (J1)

Stage 2

  • [ui] tests/ui/attributes/rustc_skip_during_method_dispatch.rs: [missing] -> pass (J0)
  • [ui] tests/ui/compiletest-self-test/line-annotation-mismatches.rs: [missing] -> pass (J0)

Additionally, 248 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 36b21637e93b038453924d3c66821089e71d8baa --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-aarch64-apple: 4856.9s -> 9039.5s (86.1%)
  2. dist-apple-various: 6294.1s -> 9249.0s (46.9%)
  3. x86_64-apple-1: 7298.2s -> 6388.3s (-12.5%)
  4. dist-x86_64-apple: 8689.2s -> 7612.0s (-12.4%)
  5. x86_64-rust-for-linux: 2559.7s -> 2869.5s (12.1%)
  6. i686-gnu-2: 5516.9s -> 6067.2s (10.0%)
  7. i686-gnu-nopt-1: 7173.2s -> 7876.3s (9.8%)
  8. dist-i686-msvc: 6622.5s -> 7262.9s (9.7%)
  9. aarch64-apple: 4768.3s -> 5221.9s (9.5%)
  10. dist-ohos-aarch64: 4166.4s -> 4525.8s (8.6%)
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

Finished benchmarking commit (36b2163): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.3% [-0.3%, -0.2%] 3
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 1.9%, secondary -4.6%)

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

mean range count
Regressions ❌
(primary)
3.2% [3.1%, 3.3%] 2
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.8% [-0.8%, -0.8%] 1
Improvements ✅
(secondary)
-4.6% [-4.6%, -4.6%] 1
All ❌✅ (primary) 1.9% [-0.8%, 3.3%] 3

Cycles

Results (secondary -3.7%)

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

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.7% [-3.8%, -3.6%] 2
All ❌✅ (primary) - - 0

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 690.402s -> 689.383s (-0.15%)
Artifact size: 372.03 MiB -> 371.94 MiB (-0.02%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) A-compiletest Area: The compiletest test runner A-rustdoc-json Area: Rustdoc JSON backend A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. O-unix Operating system: Unix-like PG-exploit-mitigations Project group: Exploit mitigations 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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. 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.