Skip to content

Rollup of 13 pull requests #139622

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 33 commits into from
Apr 10, 2025
Merged

Rollup of 13 pull requests #139622

merged 33 commits into from
Apr 10, 2025

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

GuillaumeGomez and others added 30 commits March 7, 2025 17:09
Currently the code continues, using an empty path, but it doesn't need
to.
`resolve_ident_in_lexical_scope` checks for an empty name. Why is this
necessary? Because `parse_item_impl` can produce an `impl` block with an
empty trait name in some cases. This is pretty gross and very
non-obvious.

This commit avoids the use of the empty trait name. In one case the
trait name is instead pulled from `TyKind::ImplTrait`, which prevents
the output for `tests/ui/impl-trait/extra-impl-in-trait-impl.rs` from
changing. In the other case we just fail the parse and don't try to
recover. I think losing error recovery in this obscure case is worth
the code cleanup.

This change affects `tests/ui/parser/impl-parsing.rs`, which is split in
two, and the obsolete `..` syntax cases are removed (they are tested
elsewhere).
We should enable these to avoid misinterpreting uses of the extended
syntax as code blocks. This happens in practice with multi-paragraph
footnotes, as discovered in rust-lang#139064.
Inspired by some of the communication issues around the stabilization of
`let`-chains, give more fine-grained information about the status of
updating style for any new syntax.

This does not change the process or blockers in any way; it only
*documents* the current state in the tracking issue. For instance, in
the case of `let`-chains, we would have checked the boxes for "Style
team decision" and "(non-blocking) Formatting has been implemented", and
not checked the box for the style guide. That would have then provided
better supporting information for any decisions.
…pper-improvement, r=camelid

Small code improvement in rustdoc hidden stripper

This is a very minor code improvement following rust-lang#137534. It doesn't change anything about the performance issue.

r? ```@notriddle```
…Gomez

Clean up librustdoc::html::render to be better encapsulated

Closes rust-lang#138567
…=oli-obk

Suppress missing field error when autoderef bottoms out in infer

I see this error repeatedly when doing refactorings, and it's pretty misleading b/c it's not the source of the error.
match ergonomics: replace `peel_off_references` with a recursive call

This makes it imo quite a bit easier to follow how the binding mode gets calculated.

cc ```@dianne```
compiletest: Trim whitespace from environment variable names

When a test contains a directive like `//@ exec-env: FOO=bar`, compiletest currently includes that leading space in the name of the environment variable, so it is defined as ` FOO` instead of `FOO`.

This is an annoying footgun that is pretty much never intended, especially since most other directives *do* trim whitespace. So let's get rid of it by trimming the environment variable name.

Values remain untrimmed, since there could conceivably be a use-case for values with leading space, but perhaps we'll end up trimming values too in the future.

Recently observed in rust-lang#138603 (comment).

Fixes rust-lang#132990.
Supersedes rust-lang#133148.

---

try-job: test-various
…=RalfJung

Remove some dead or leftover code related to rustc-intrinsic abi removal

r? ```@RalfJung```

PR that removed the ABI: rust-lang#139455

tracking issue: rust-lang#132735
…eyouxu

emit a better error message for using the macro incorrectly

fixing: EnzymeAD#185
I feel like it's not a perfect message either, so I'm open to suggestions.
But at the end of the day users will need to read the docs anyway, and emitting
multi-line errors each time this gets triggered can probably become annoying?

r? ``@jieyouxu`` since you've reviewed my frontend work back in the days.

Tracking:

- rust-lang#124509
…mpiler-errors

Don't use empty trait names

Helps with rust-lang#137978. Details in individual commits.

r? ```@davidtwco```
Temporarily leave the review rotation

r? ghost
rustdoc: Enable Markdown extensions when looking for doctests

Fixes rust-lang#139064.

We should enable these to avoid misinterpreting uses of the extended
syntax as code blocks. This happens in practice with multi-paragraph
footnotes, as discovered in rust-lang#139064.
…viscross

Tracking issue template: fine-grained information on style update status

Inspired by some of the communication issues around the stabilization of
`let`-chains, give more fine-grained information about the status of
updating style for any new syntax.

This does not change the process or blockers in any way; it only
*documents* the current state in the tracking issue. For instance, in
the case of `let`-chains, we would have checked the boxes for "Style
team decision" and "(non-blocking) Formatting has been implemented", and
not checked the box for the style guide. That would have then provided
better supporting information for any decisions.
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-meta Area: Issues & PRs about the rust-lang/rust repository itself 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) T-compiler Relevant to the compiler 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. rollup A PR which is a rollup labels Apr 10, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Apr 10, 2025

📌 Commit b14671e has been approved by matthiaskrgr

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 Apr 10, 2025
@bors
Copy link
Collaborator

bors commented Apr 10, 2025

⌛ Testing commit b14671e with merge 69b3959...

@bors bors mentioned this pull request Apr 10, 2025
@bors
Copy link
Collaborator

bors commented Apr 10, 2025

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

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

Test differences

Show 20 test diffs

Stage 1

  • [ui] tests/rustdoc-ui/multi-par-footnote.rs: [missing] -> pass (J0)
  • [ui] tests/ui/compiletest-self-test/trim-env-name.rs#set: [missing] -> pass (J0)
  • [ui] tests/ui/compiletest-self-test/trim-env-name.rs#unset: [missing] -> pass (J0)
  • [ui] tests/ui/error-codes/E0622.rs: pass -> [missing] (J0)
  • [ui] tests/ui/parser/impl-parsing-2.rs: [missing] -> pass (J0)

Stage 2

  • [ui] tests/ui/compiletest-self-test/trim-env-name.rs#set: [missing] -> pass (J1)
  • [ui] tests/ui/compiletest-self-test/trim-env-name.rs#unset: [missing] -> pass (J1)
  • [ui] tests/rustdoc-ui/multi-par-footnote.rs: [missing] -> pass (J2)
  • [ui] tests/ui/error-codes/E0622.rs: pass -> [missing] (J3)
  • [ui] tests/ui/parser/impl-parsing-2.rs: [missing] -> pass (J3)
  • [ui] tests/ui/compiletest-self-test/trim-env-name.rs#set: [missing] -> ignore (ignored when cross-compiling ((assume that non-cross targets have working env vars))) (J4)
  • [ui] tests/ui/compiletest-self-test/trim-env-name.rs#unset: [missing] -> ignore (ignored when cross-compiling ((assume that non-cross targets have working env vars))) (J4)

Additionally, 8 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Job duration changes

  1. x86_64-apple-1: 7565.1s -> 10415.4s (37.7%)
  2. dist-apple-various: 8558.3s -> 6552.7s (-23.4%)
  3. dist-x86_64-apple: 9057.1s -> 7883.7s (-13.0%)
  4. aarch64-apple: 3993.0s -> 4470.8s (12.0%)
  5. dist-x86_64-linux: 5489.0s -> 4977.4s (-9.3%)
  6. x86_64-apple-2: 4883.4s -> 5305.5s (8.6%)
  7. dist-x86_64-msvc-alt: 7403.2s -> 7849.3s (6.0%)
  8. test-various: 4165.4s -> 4389.9s (5.4%)
  9. dist-android: 2499.6s -> 2627.9s (5.1%)
  10. i686-gnu-nopt-2: 6407.5s -> 6717.8s (4.8%)
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
#138167 Small code improvement in rustdoc hidden stripper 0786e5aac6fe213d420cc3dda9c8352c4e285383 (link)
#138605 Clean up librustdoc::html::render to be better encapsulated 3c123a832885bd04d73a8d9e08bbe795e56731e8 (link)
#139423 Suppress missing field error when autoderef bottoms out in … 1c22819edb6423a7ee71bc8381cbb7982654f013 (link)
#139449 match ergonomics: replace peel_off_references with a recu… 437a325223844a88c71aff1333cb9196c86ed083 (link)
#139507 compiletest: Trim whitespace from environment variable names 18a405285bdd0fa5e81fb665c2a449c9c846b495 (link)
#139530 Remove some dead or leftover code related to rustc-intrinsi… f5f341769227ba3df29276a7b54f8beca078da15 (link)
#139560 fix title of offset_of_enum feature e36ddf13c2088514218e11e7c900adc2f0c93ebf (link)
#139563 emit a better error message for using the macro incorrectly 096796200ca6c5b08f69a42dd3e80bed5f5c63a7 (link)
#139568 Don't use empty trait names 7c44c27cf919a07ef2dc75f56aa5a9f73b27ac8a (link)
#139580 Temporarily leave the review rotation 355d0154d2c9b1cc34e59ee78458631c1848ab30 (link)
#139589 saethlin is back from vacation 283e937b6ce0fb12e9dd82c8bae02b320a38b3c9 (link)
#139592 rustdoc: Enable Markdown extensions when looking for doctes… b87b6b89bb26f791f7658a774846413421b8ebe0 (link)
#139599 Tracking issue template: fine-grained information on style … d7856ac609b02f109ebc437638774316065c8a93 (link)

previous master: 7d7de5bf3c

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 (69b3959): 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.5% [0.5%, 0.5%] 1
Improvements ✅
(primary)
-0.3% [-0.3%, -0.2%] 4
Improvements ✅
(secondary)
-0.3% [-0.6%, -0.2%] 26
All ❌✅ (primary) -0.3% [-0.3%, -0.2%] 4

Max RSS (memory usage)

Results (primary 2.5%, secondary 3.7%)

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)
6.2% [6.2%, 6.2%] 1
Regressions ❌
(secondary)
3.7% [3.7%, 3.7%] 1
Improvements ✅
(primary)
-1.3% [-1.3%, -1.3%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 2.5% [-1.3%, 6.2%] 2

Cycles

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

Binary size

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

Bootstrap: 782.463s -> 782.988s (0.07%)
Artifact size: 366.23 MiB -> 366.24 MiB (0.00%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-compiletest Area: The compiletest test runner A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-testsuite Area: The testsuite used to check the correctness of rustc 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-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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.