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 12 pull requests #122241

Merged
merged 30 commits into from
Mar 9, 2024
Merged

Rollup of 12 pull requests #122241

merged 30 commits into from
Mar 9, 2024

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

GnomedDev and others added 30 commits February 20, 2024 19:01
This will make it easier to report rustc versions for older metadata
formats.
Previously, reading the current path from the environment led to failure when invoking
x from outside the source root. This change fixes this issue by passing the already
resolved root path into `ui_tests::check`.

Signed-off-by: onur-ozkan <[email protected]>
for a couple of issues
Using `Ord` to accomplish a meaning of subset relationship
can be hard to read. The existing uses for that are easily
replaced with a `match`, and in my opinion, more readable
without needing to resorting to comments to explain the
intention.
…rk-Simulacrum

Reduce alignment of TypeId to u64 alignment

Closes rust-lang#115620
…cjgillot

Misc improvements to non local defs lint implementation

This PR is a collection of small improvements I found when I [needlessly tried](https://github.com/rust-lang/rust/pull/120393#issuecomment-1971787475) to fix a "perf-regression" in the lint implementation.

I recommend looking at each commit individually.
…latest-edition, r=cjgillot

Eagerly translate `HelpUseLatestEdition` in parser diagnostics

Fixes rust-lang#122130.

This makes me suspicious of these other two usage of  `add_to_diagnostic()`. Would they *also* crash? I haven't attempted to construct test cases for them.

```
compiler/rustc_parse/src/parser/expr.rs
3453:            errors::HelpUseLatestEdition::new().add_to_diagnostic(e);

compiler/rustc_hir_typeck/src/expr.rs
2603:            HelpUseLatestEdition::new().add_to_diagnostic(&mut err);
```

This also seems like a footgun?
ci: add a runner for vanilla LLVM 18

For CI cost, this can be seen as replacing the llvm-15 runner we dropped in rust-lang#117947.

Also, I've set `IS_NOT_LATEST_LLVM` in the llvm-17 runner, since that's not the latest anymore.
…, r=petrochenkov

Move metadata header and version checks together

This will make it easier to report rustc versions for older metadata formats.

Split out of rust-lang#120855
…n, r=compiler-errors

fix incorrect path resolution in tidy

Previously, reading the current path from the environment led to failure when invoking x from outside the source root. This change fixes this issue by passing the already resolved root path into `ui_tests::check`.

Fixes rust-lang#122202
Some tweaks to the parallel query cycle handler

This renames `deadlock` to `break_query_cycles`. The abort logic is moved next to the thread spawning and gives the thread a name.

Fixes rust-lang#122035.

r? ```@oli-obk```
Fix typo in `VisitorResult`

r? ```@oli-obk```
library/core: fix a comment, and a cfg(miri) warning

Just two things I noticed while working on another PR.
miri: do not apply aliasing restrictions to Box with custom allocator

This is the Miri side of rust-lang#122018. The "intrinsics with body" made this much more pleasant. :)

Fixes rust-lang/miri#3341.
r? `@oli-obk`
…r-errors

Remove `Ord` from `ClosureKind`

Using `Ord` to accomplish a meaning of subset relationship can be hard to read. The existing uses for that are easily replaced with a `match`, and in my opinion, more readable without needing to resorting to comments to explain the intention.

cc `@compiler-errors`
@rustbot rustbot added A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) 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-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. rollup A PR which is a rollup labels Mar 9, 2024
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=12

@bors
Copy link
Contributor

bors commented Mar 9, 2024

📌 Commit 7193ce0 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 Mar 9, 2024
@bors
Copy link
Contributor

bors commented Mar 9, 2024

⌛ Testing commit 7193ce0 with merge 8401645...

@bors
Copy link
Contributor

bors commented Mar 9, 2024

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

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Mar 9, 2024
@bors bors merged commit 8401645 into rust-lang:master Mar 9, 2024
12 checks passed
@rustbot rustbot added this to the 1.78.0 milestone Mar 9, 2024
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#121358 Reduce alignment of TypeId to u64 alignment 23bd32c6ca96ef80e9234961257879a32b5a40c5 (link)
#121813 Misc improvements to non local defs lint implementation ae4aecdfbef023f2d7954547b013455a715b5a62 (link)
#122160 Eagerly translate HelpUseLatestEdition in parser diagnost… aedf209beb30735ce94c6e243d2ab8a428ce5b9e (link)
#122178 ci: add a runner for vanilla LLVM 18 0a1f5f40ca9efe00ce23df6cdbe5b3c3cef14c50 (link)
#122187 Move metadata header and version checks together 4090a71d3acd541fb33cd90ae9980b800efb3055 (link)
#122209 fix incorrect path resolution in tidy 2859eab8739439b4b83aa6e68aa3b4c7fb63c600 (link)
#122215 Some tweaks to the parallel query cycle handler 6fda049200565e98181a628b41558ae3b6abfaf0 (link)
#122223 Fix typo in VisitorResult aa648b1ff2c6e5c62271c449b2dc6dda042a045f (link)
#122224 Add missing regression tests eff3899fbf39f297075c2d8a4d68569be07c07da (link)
#122232 library/core: fix a comment, and a cfg(miri) warning 0bb594ad8a06293f6b8e25253e96ed4828b240c0 (link)
#122233 miri: do not apply aliasing restrictions to Box with custom… 654acdafdf1d2ede7710acdf5f68ccaac9ea0d44 (link)
#122237 Remove Ord from ClosureKind eb4cd4eb841f66eddf96c0069864fc81c86f59cf (link)

previous master: b054da8155

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

Overall result: ❌✅ regressions and improvements - ACTION NEEDED

Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please open an issue or create a new PR that fixes the regressions, add a comment linking to the newly created issue or PR, and then add the perf-regression-triaged label to this PR.

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

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

Max RSS (memory usage)

Results

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)
4.6% [0.1%, 9.1%] 4
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-2.4% [-6.6%, -0.8%] 4
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 1.1% [-6.6%, 9.1%] 8

Cycles

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

Binary size

Results

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.3% [0.0%, 0.5%] 36
Regressions ❌
(secondary)
2.1% [1.3%, 2.3%] 4
Improvements ✅
(primary)
-0.2% [-0.4%, -0.0%] 12
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.2% [-0.4%, 0.5%] 48

Bootstrap: 649.076s -> 650.585s (0.23%)
Artifact size: 172.58 MiB -> 310.34 MiB (79.82%)

@rustbot rustbot added the perf-regression Performance regression. label Mar 9, 2024
@Kobzol
Copy link
Contributor

Kobzol commented Mar 9, 2024

(The artifact size change is just size monitoring reverting to a steady state after a bugfix, nothing to see here.)

@pnkfelix
Copy link
Member

Visiting for weekly rustc-perf triage

  • sole regressions are to (secondary) regression-31157 debug-incr-full (1.56%), which might be spurious based on the graph, and tt-muncher opt-incr-unchanged (0.19%), which I don't consider worth getting worried about.
  • marking as triaged.

@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Mar 12, 2024
@matthiaskrgr matthiaskrgr deleted the rollup-r8q87ok branch March 16, 2024 18:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. 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-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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.