Skip to content

Rollup of 7 pull requests #139881

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 19 commits into from
Apr 15, 2025
Merged

Rollup of 7 pull requests #139881

merged 19 commits into from
Apr 15, 2025

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

yotamofek and others added 19 commits April 10, 2025 16:02
These were low value even before rust-lang#137978 resulted in empty names being
used much less. (Why check for non-emptiness in these three places?
There are thousands of places in the compiler you could check.)
Field names are never empty, so the unwrap is unnecessary.
This is pretty weird code. As the `HACK` comment indicates, we push the
empty ident here only to make the path longer, so certain checks to
occur within `lint_if_path_starts_with_module`. `dummy` is a better
choice because it explicitly communicates that the actual value doesn't
matter.
The methods `Take::get_mut` and `Chain::get_mut` include comments
warning about modifying the I/O state of the underlying reader. However,
many readers (e.g. `File`) allow I/O using a shared reference (e.g.
`&File`). So, add the same caveat to the `get_ref` methods.
…play, r=GuillaumeGomez

`librustdoc`: more `impl fmt::Display`

Continuation of rust-lang#137425 and rust-lang#136828 and rust-lang#136784
Working towards getting rid of the `write_str` helper
r? `@GuillaumeGomez` (if you want!)
…=oli-obk

Normalize ADT field in `find_tails_for_unsizing`

See the comment inline and in the test.

TL;DR is that we're getting getting a type from a `type_of` query and then matching on it structurally in codegen, so we're obligated to normalize it. The fact that this wasn't triggered earlier is that all of the types that have `CoerceUnsized` implementations never encounter aliases when peeling the ADT down to their base reference/ptr type.

**NOTE**: I also renamed some things and reorganized the function a bit.

Fixes rust-lang#139812
Fixes rust-lang#74451, which I didn't think was interesting enough to add another test.

r? oli-obk
Use `rust-cache` to speed-up `citool` compilation

Alternative to rust-lang#139678.

r? ``@marcoieni``
…chenkov

Remove safe remove

`safe_remove_dir_all` and `safe_remove_file` use `canonicalize` to workaround a `MAX_PATH` limitation. However, this has not been needed in a long time, since the standard library handles this situation itself.

I've kept `safe_remove_file` (without `canonicalize`) because it also returns `Ok` if the file is not found. While, `safe_remove_file` is only used twice, matching on the error kind is sufficiently verbose that maybe it's still worth it?
…-errors

 Reduce kw::Empty usage, part 5

Another step towards rust-lang#137978.

r? `@davidtwco`
…obzol

CI: rename MacOS runner

r? ``@Kobzol``
Add warning comment to `Take::get_ref` and `Chain::get_ref`

The methods `Take::get_mut` and `Chain::get_mut` include comments
warning about modifying the I/O state of the underlying reader. However,
many readers (e.g. `File`) allow I/O using a shared reference (e.g.
`&File`). So, add the same caveat to the `get_ref` methods.
@rustbot rustbot added 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-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure 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. rollup A PR which is a rollup labels Apr 15, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Apr 15, 2025

📌 Commit ebaef46 has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors bors removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Apr 15, 2025
@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 15, 2025
@bors
Copy link
Collaborator

bors commented Apr 15, 2025

⌛ Testing commit ebaef46 with merge 38c560a...

@bors
Copy link
Collaborator

bors commented Apr 15, 2025

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

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

Test differences

Show 40 test diffs

Stage 1

  • [crashes] tests/crashes/74451.rs: pass -> [missing] (J0)
  • [ui] tests/ui/coercion/codegen-smart-pointer-with-alias.rs: [missing] -> pass (J0)

Stage 2

  • [crashes] tests/crashes/74451.rs: pass -> [missing] (J1)
  • [ui] tests/ui/coercion/codegen-smart-pointer-with-alias.rs: [missing] -> pass (J2)

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

Job group index

Job duration changes

  1. dist-apple-various: 6964.3s -> 9698.1s (39.3%)
  2. i686-msvc-2: 7001.7s -> 8365.0s (19.5%)
  3. i686-gnu-nopt-2: 6382.5s -> 7147.5s (12.0%)
  4. dist-x86_64-msvc: 5647.0s -> 6112.7s (8.2%)
  5. dist-powerpc-linux: 5161.5s -> 5558.2s (7.7%)
  6. x86_64-gnu-distcheck: 5034.4s -> 4663.0s (-7.4%)
  7. dist-x86_64-apple: 9494.0s -> 8799.6s (-7.3%)
  8. armhf-gnu: 4453.1s -> 4772.0s (7.2%)
  9. x86_64-apple-2: 5234.8s -> 4916.9s (-6.1%)
  10. dist-x86_64-mingw: 7933.6s -> 7476.1s (-5.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
#138455 librustdoc: more impl fmt::Display e2619ad2ad6436c1cffd8888e20acc78202ae01e (link)
#139818 Normalize ADT field in find_tails_for_unsizing e55ff8f25df430cd79c2c5e6123ff467fa866613 (link)
#139819 Use rust-cache to speed-up citool compilation 9e90bb798d30fa66514266682fcbdd84db5a2255 (link)
#139824 Remove safe remove 5db04d58f9334328958bd645a18954a90364c30c (link)
#139848 Reduce kw::Empty usage, part 5 2962600dc180f7a1746f2c656c4134356afc55c9 (link)
#139859 CI: rename MacOS runner 01d7a064776545d2b37d7c3bb8f2b027614df431 (link)
#139877 Add warning comment to Take::get_ref and Chain::get_ref 821bd5227c9b179b11ad62f9a5cd8b2d426bb454 (link)

previous master: 414da5b63d

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

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

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

Max RSS (memory usage)

Results (primary -0.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.3% [1.3%, 1.3%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.6% [-0.8%, -0.5%] 5
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.3% [-0.8%, 1.3%] 6

Cycles

Results (primary 0.5%, secondary 2.4%)

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.5% [0.4%, 0.5%] 4
Regressions ❌
(secondary)
2.4% [2.4%, 2.4%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.5% [0.4%, 0.5%] 4

Binary size

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

Bootstrap: 782.201s -> 781.698s (-0.06%)
Artifact size: 365.14 MiB -> 365.13 MiB (-0.00%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure 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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.