Skip to content

Make empty bounds lower to WellFormed and make WellFormed coinductive - #98542

Merged
bors merged 2 commits into
rust-lang:masterfrom
jackh726:coinductive-wf
Jun 29, 2022
Merged

Make empty bounds lower to WellFormed and make WellFormed coinductive#98542
bors merged 2 commits into
rust-lang:masterfrom
jackh726:coinductive-wf

Conversation

@jackh726

Copy link
Copy Markdown
Member

r? rust-lang/types

@rustbotrustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Jun 26, 2022
@rust-highfiverust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 26, 2022
@jackh726

Copy link
Copy Markdown
MemberAuthor

@bors try @rust-timer queue

@rust-timer

Copy link
Copy Markdown
Collaborator

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

@rustbotrustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jun 26, 2022
@bors

bors commented Jun 26, 2022

Copy link
Copy Markdown
Collaborator

⌛ Trying commit 17fc375eb17df1e939ac23d2297f0642e1cfa6dd with merge c078f423e8387b6d48de9e764d99dfefb7a083e4...

@rust-log-analyzer

This comment has been minimized.

@bors

bors commented Jun 26, 2022

Copy link
Copy Markdown
Collaborator

☀️ Try build successful - checks-actions
Build commit: c078f423e8387b6d48de9e764d99dfefb7a083e4 (c078f423e8387b6d48de9e764d99dfefb7a083e4)

@rust-timer

Copy link
Copy Markdown
Collaborator

Queued c078f423e8387b6d48de9e764d99dfefb7a083e4 with parent 7125846, future comparison URL.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (c078f423e8387b6d48de9e764d99dfefb7a083e4): comparison url.

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

Results
  • Primary benchmarks: mixed results
  • Secondary benchmarks: no relevant changes found
mean1maxcount2
Regressions 😿
(primary)
2.6%2.6%1
Regressions 😿
(secondary)
N/AN/A0
Improvements 🎉
(primary)
-3.7%-4.0%2
Improvements 🎉
(secondary)
N/AN/A0
All 😿🎉 (primary)-1.6%-4.0%3

If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf.

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf.

@bors rollup=never
@rustbot label: +S-waiting-on-review -S-waiting-on-perf -perf-regression

Footnotes

  1. the arithmetic mean of the percent change

  2. number of relevant changes

@rustbotrustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jun 26, 2022
@jackh726jackh726 mentioned this pull request Jun 27, 2022
Comment threadcompiler/rustc_traits/src/chalk/lowering.rs Outdated
Comment on lines 2495 to 2496

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe run perf on that first so we can replace the very likely with been shown

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ehh, I would prefer to not try to make that change right now (because it's going to take some time to do right - which is limited for me right now - and I think the time will just be wasted).

@oli-obk

Copy link
Copy Markdown
Contributor

@bors r+

@bors

bors commented Jun 28, 2022

Copy link
Copy Markdown
Collaborator

📌 Commit bd298ad has been approved by oli-obk

@borsbors 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 Jun 28, 2022
@bors

bors commented Jun 29, 2022

Copy link
Copy Markdown
Collaborator

⌛ Testing commit bd298ad with merge 116edb6...

@bors

bors commented Jun 29, 2022

Copy link
Copy Markdown
Collaborator

☀️ Test successful - checks-actions
Approved by: oli-obk
Pushing 116edb6 to master...

@borsbors added the merged-by-bors This PR was explicitly merged by bors. label Jun 29, 2022
@bors
bors merged commit 116edb6 into rust-lang:masterJun 29, 2022
@rustbotrustbot added this to the 1.64.0 milestone Jun 29, 2022
@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (116edb6): comparison url.

Instruction count

  • Primary benchmarks: no relevant changes found
  • Secondary benchmarks: 🎉 relevant improvements found
mean1maxcount2
Regressions 😿
(primary)
N/AN/A0
Regressions 😿
(secondary)
N/AN/A0
Improvements 🎉
(primary)
N/AN/A0
Improvements 🎉
(secondary)
-0.6%-0.7%6
All 😿🎉 (primary)N/AN/A0

Max RSS (memory usage)

Results
  • Primary benchmarks: mixed results
  • Secondary benchmarks: mixed results
mean1maxcount2
Regressions 😿
(primary)
5.1%5.1%1
Regressions 😿
(secondary)
2.5%3.8%2
Improvements 🎉
(primary)
-2.0%-2.0%1
Improvements 🎉
(secondary)
-3.6%-3.6%1
All 😿🎉 (primary)1.5%5.1%2

Cycles

Results
  • Primary benchmarks: 🎉 relevant improvement found
  • Secondary benchmarks: 😿 relevant regression found
mean1maxcount2
Regressions 😿
(primary)
N/AN/A0
Regressions 😿
(secondary)
2.3%2.3%1
Improvements 🎉
(primary)
-3.3%-3.3%1
Improvements 🎉
(secondary)
N/AN/A0
All 😿🎉 (primary)-3.3%-3.3%1

If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf.

@rustbot label: -perf-regression

Footnotes

  1. the arithmetic mean of the percent change23

  2. number of relevant changes23

@jackh726
jackh726 deleted the coinductive-wf branch June 29, 2022 13:09
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request May 17, 2025
…lcnr
Make well-formedness predicates no longer coinductive
This PR makes well-formedness no longer coinductive. It was made coinductive in rust-lang#98542, but AFAICT this was only to fix UI tests since we stopped lowering `where Ty:` to an empty-region outlives predicate but to a WF predicate instead.
Arguably it should lower to something completely different, something like a "type mentioned no-op predicate", but well-formedness serves this purpose fine today, and since no code (according to crater) relies on this coinductive behavior, we'd like to avoid having to emulate it in the new solver.
Fixesrust-lang#123456 (I didn't want to add a test since it seems low-value to have a ICE test for a fuzzer minimization that is basically garbage code.)
Fixes #109764 (not sure if this behavior is emulatable w/o coinductive WF?)
Fixesrust-lang/trait-system-refactor-initiative#169
r? lcnr
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request May 17, 2025
Rollup merge of rust-lang#140208 - compiler-errors:wf-coinductive, r=lcnr
Make well-formedness predicates no longer coinductive
This PR makes well-formedness no longer coinductive. It was made coinductive in rust-lang#98542, but AFAICT this was only to fix UI tests since we stopped lowering `where Ty:` to an empty-region outlives predicate but to a WF predicate instead.
Arguably it should lower to something completely different, something like a "type mentioned no-op predicate", but well-formedness serves this purpose fine today, and since no code (according to crater) relies on this coinductive behavior, we'd like to avoid having to emulate it in the new solver.
Fixesrust-lang#123456 (I didn't want to add a test since it seems low-value to have a ICE test for a fuzzer minimization that is basically garbage code.)
Fixes #109764 (not sure if this behavior is emulatable w/o coinductive WF?)
Fixesrust-lang/trait-system-refactor-initiative#169
r? lcnr
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged-by-borsThis PR was explicitly merged by bors.S-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@jackh726@rust-timer@bors@rust-log-analyzer@oli-obk@rust-highfive@rustbot