Skip to content
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

Rollup of 8 pull requests #139354

Merged
merged 18 commits into from
Apr 4, 2025
Merged

Rollup of 8 pull requests #139354

merged 18 commits into from
Apr 4, 2025

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

madsmtm and others added 18 commits March 25, 2025 21:53
The File is unwrapped to a Handle into an AnonPipe, and then that AnonPipe was unwrapped to a Handle into another AnonPipe. The second operation is entirely redundant.
…Lapkin

Rename `is_like_osx` to `is_like_darwin`

Replace `is_like_osx` with `is_like_darwin`, which more closely describes reality (OS X is the pre-2016 name for macOS, and is by now quite outdated; Darwin is the overall name for the OS underlying Apple's macOS, iOS, etc.).

``@rustbot`` label O-apple
r? compiler
….2025-04-02, r=joboet

Remove creation of duplicate `AnonPipe`

The `File` is unwrapped to a `Handle` into an `AnonPipe`, and then that `AnonPipe` was unwrapped to a `Handle` into another `AnonPipe`. The second operation is entirely redundant.
…ler-errors

Deduplicate some `rustc_middle` function bodies by calling the `rustc_type_ir` equivalent

Maybe in the future we can use method delegation, but I'd rather avoid that for now (I don't even know if it can do that already)
compiletest: Encapsulate all of the code that touches libtest

Compiletest currently relies on unstable libtest APIs in order to actually execute tests. That's unfortunate, but removing the dependency isn't trivial.

However, we can make a small step towards removing the libtest dependency by encapsulating the libtest interactions into a single dedicated module. That makes it easier to see what parts of libtest are actually used.

---

As a side-effect of moving the `test_opts` function into that dedicated module, this PR also ends up allowing `--fail-fast` to be passed on the command line, instead of requiring an environment variable.

---

There is still (at least) one other aspect of the libtest dependency that this PR does not address, namely the fact that we rely on libtest's output capture (via unstable std APIs) to capture the output that we print during individual tests. I hope to do something about that at some point.

r? jieyouxu
…eyouxu

Add helper function for checking LLD usage to `run-make-support`

Extracted out of rust-lang#138645, should be a simple refactoring.

r? ``@jieyouxu``
…li-obk

Pass correct param-env to `error_implies`

Duplicated comment from the test:

In the error reporting code, when reporting fulfillment errors for goals A and B, we try to see if elaborating A will result in another goal that can equate with B. That would signal that B is "implied by" A, allowing us to skip reporting it, which is beneficial for cutting down on the number of diagnostics we report.

In the new trait solver especially, but even in the old trait solver through things like defining opaque type usages, this `can_equate` call was not properly taking the param-env of the goals, resulting in nested obligations that had empty param-envs. If one of these nested obligations was a `ConstParamHasTy` goal, then we would ICE, since those goals are particularly strict about the param-env they're evaluated in.

This is morally a fix for <rust-lang#139314>, but that repro uses details about how defining usages in the `check_opaque_well_formed` code can spring out of type equality, and will likely stop failing soon coincidentally once we start using `PostBorrowck` mode in that check. Instead, we use lazy normalization to end up generating an alias-eq goal whose nested goals woul trigger the ICE instead, since this is a lot more stable.

Fixes rust-lang#139314

r? ``@oli-obk`` or reassign
…r=compiler-errors

adt_destructor: sanity-check returned item

Fixes rust-lang#139278
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-compiletest Area: The compiletest test runner A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc O-apple Operating system: Apple (macOS, iOS, tvOS, visionOS, watchOS) O-windows Operating system: Windows 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 Apr 4, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Apr 4, 2025

📌 Commit 0a9eae1 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 4, 2025
@bors
Copy link
Collaborator

bors commented Apr 4, 2025

⌛ Testing commit 0a9eae1 with merge a4166da...

@bors
Copy link
Collaborator

bors commented Apr 4, 2025

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

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Apr 4, 2025
@bors bors merged commit a4166da into rust-lang:master Apr 4, 2025
7 checks passed
@rustbot rustbot added this to the 1.88.0 milestone Apr 4, 2025
Copy link

github-actions bot commented Apr 4, 2025

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 f174fd7 (parent) -> a4166da (this PR)

Test differences

Show 18 test diffs

Stage 1

  • [ui] tests/ui/const-generics/const-param-has-ty-goal-in-error-implies.rs: [missing] -> pass (J0)
  • [ui] tests/ui/drop/nonsense-drop-impl-issue-139278.rs: [missing] -> pass (J0)
  • [ui] tests/ui/linkage-attr/link-self-contained-consistency.rs#many: pass -> [missing] (J0)
  • [ui] tests/ui/linkage-attr/link-self-contained-consistency.rs#one: pass -> [missing] (J0)
  • [ui] tests/ui/linking/link-self-contained-consistency.rs#many: [missing] -> pass (J0)
  • [ui] tests/ui/linking/link-self-contained-consistency.rs#one: [missing] -> pass (J0)

Stage 2

  • [ui] tests/ui/const-generics/const-param-has-ty-goal-in-error-implies.rs: [missing] -> pass (J1)
  • [ui] tests/ui/drop/nonsense-drop-impl-issue-139278.rs: [missing] -> pass (J1)
  • [ui] tests/ui/linkage-attr/link-self-contained-consistency.rs#many: pass -> [missing] (J1)
  • [ui] tests/ui/linkage-attr/link-self-contained-consistency.rs#one: pass -> [missing] (J1)
  • [ui] tests/ui/linking/link-self-contained-consistency.rs#many: [missing] -> pass (J1)
  • [ui] tests/ui/linking/link-self-contained-consistency.rs#one: [missing] -> pass (J1)

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

Job group index

  • J0: x86_64-gnu-llvm-18-3, x86_64-gnu-llvm-19-3
  • J1: aarch64-apple, aarch64-gnu, arm-android, armhf-gnu, dist-i586-gnu-i586-i686-musl, i686-gnu-1, i686-gnu-nopt-1, i686-msvc-1, test-various, x86_64-apple-2, x86_64-gnu, x86_64-gnu-llvm-18-1, x86_64-gnu-llvm-18-2, x86_64-gnu-llvm-19-1, x86_64-gnu-llvm-19-2, x86_64-gnu-nopt, x86_64-gnu-stable, x86_64-mingw-1, x86_64-msvc-1

Job duration changes

  1. x86_64-apple-1: 6731.7s -> 10109.2s (50.2%)
  2. dist-apple-various: 6321.7s -> 8527.8s (34.9%)
  3. x86_64-apple-2: 4532.7s -> 5399.7s (19.1%)
  4. aarch64-apple: 3650.4s -> 3912.2s (7.2%)
  5. x86_64-gnu-debug: 6206.0s -> 6518.4s (5.0%)
  6. dist-x86_64-apple: 8488.9s -> 8805.9s (3.7%)
  7. x86_64-msvc-1: 8786.8s -> 9110.5s (3.7%)
  8. dist-x86_64-mingw: 7591.7s -> 7848.5s (3.4%)
  9. x86_64-gnu-aux: 6007.0s -> 6201.8s (3.2%)
  10. dist-i586-gnu-i586-i686-musl: 5113.4s -> 5276.3s (3.2%)
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
#138949 Rename is_like_osx to is_like_darwin d8a94ddd242754c4c6d506da51264884b40491d1 (link)
#139295 Remove creation of duplicate AnonPipe c15f93f76ab5dc37ccd405bc6958caefa418122a (link)
#139313 Deduplicate some rustc_middle function bodies by calling … 6f647897c83590d84e47708d23f6d38119694fd6 (link)
#139317 compiletest: Encapsulate all of the code that touches libte… dea79a71c9b88666cba059759ed08969e3d4daa9 (link)
#139322 Add helper function for checking LLD usage to `run-make-sup… be9abed53e00f3d383ff4cf47a7cdccfa5af176a (link)
#139335 Pass correct param-env to error_implies 69444d10940ca3d909046a30c0cbd40e0ad98578 (link)
#139342 Add a mailmap entry for myself 5e06b660af60b751e2696faaeacf47e3e371a36e (link)
#139349 adt_destructor: sanity-check returned item 665b1a435a8da1f62d029db270f61f5ca0f003ad (link)

previous master: f174fd716a

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 (a4166da): 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)

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

Cycles

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

Binary size

Results (secondary 0.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)
- - 0
Regressions ❌
(secondary)
0.0% [0.0%, 0.0%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Bootstrap: 778.988s -> 780.575s (0.20%)
Artifact size: 365.99 MiB -> 365.99 MiB (-0.00%)

Kobzol pushed a commit to Kobzol/rust that referenced this pull request Apr 4, 2025
…iaskrgr

Rollup of 8 pull requests

Successful merges:

 - rust-lang#138949 (Rename `is_like_osx` to `is_like_darwin`)
 - rust-lang#139295 (Remove creation of duplicate `AnonPipe`)
 - rust-lang#139313 (Deduplicate some `rustc_middle` function bodies by calling the `rustc_type_ir` equivalent)
 - rust-lang#139317 (compiletest: Encapsulate all of the code that touches libtest)
 - rust-lang#139322 (Add helper function for checking LLD usage to `run-make-support`)
 - rust-lang#139335 (Pass correct param-env to `error_implies`)
 - rust-lang#139342 (Add a mailmap entry for myself)
 - rust-lang#139349 (adt_destructor: sanity-check returned item)

r? `@ghost`
`@rustbot` modify labels: rollup
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-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. O-apple Operating system: Apple (macOS, iOS, tvOS, visionOS, watchOS) O-windows Operating system: Windows 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.