Perform many const checks in typeck#149375
Conversation
|
This PR modifies This PR changes a file inside |
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Perform many const checks in typeck
| //@ known-bug: #137187 | ||
| #![feature(const_trait_impl, const_ops)] | ||
|
|
||
| use std::ops::Add; | ||
| trait A where | ||
| *const Self: Add, | ||
| const trait A where | ||
| *const Self: const Add, | ||
| { | ||
| const fn b(c: *const Self) -> <*const Self as Add>::Output { | ||
| fn b(c: *const Self) -> <*const Self as Add>::Output { | ||
| c + c | ||
| } | ||
| } | ||
|
|
||
| fn main() {} |
There was a problem hiding this comment.
This produces the same ICE as before, but the changes were required to pass typeck so we'd actually get to mir const checks
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (1a2d233): comparison URL. Overall result: ❌ regressions - please read the text belowBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient writing along with @bors rollup=never Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)This benchmark run did not return any relevant results for this metric. CyclesResults (primary -2.7%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary 0.1%, secondary 0.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 472.621s -> 472.008s (-0.13%) |
|
there are performance regressions, are you planning on addressing them? |
|
☔ The latest upstream changes (presumably #149478) made this pull request unmergeable. Please resolve the merge conflicts. |
|
@bors try jobs=dist-arm-linux-gnueabi |
|
🔒 Merge conflict This pull request and the base branch diverged in a way that cannot How do I rebase?Assuming
You may also read Please avoid the "Resolve conflicts" button on GitHub. Sometimes step 4 will complete without asking for resolution. This is usually due to difference between how |
This comment has been minimized.
This comment has been minimized.
|
@bors try jobs=dist-arm-linux-gnueabi |
Perform many const checks in typeck try-job: dist-arm-linux-gnueabi
This comment has been minimized.
This comment has been minimized.
|
@bors try jobs=dist-aarch64-linux |
This comment has been minimized.
This comment has been minimized.
Perform many const checks in typeck try-job: dist-aarch64-linux
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Perform many const checks in typeck
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (8df7551): comparison URL. Overall result: ❌ regressions - please read the text belowBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient writing along with @bors rollup=never Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -0.7%, secondary 6.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -1.9%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 474.508s -> 475.606s (0.23%) |
|
@rustbot ready The first perf run must have been a fluke. It doesn't reproduce and all my local debugging never pointed me to anything reasonable |
Some smaller diagnostic changes, the biggest ones avoided by #148641
We should be able to move various checks in mir const checking to using
span_bug!instead of reporting an error, just like mir typeck does as a sanity check. I would like to start doing so separately though, as this PR is a big enough (in what effects it causes, pun intended).r? @fee1-dead