[MCP] introduce ty::WhereClause to align chalk and rustc dyn repr#85466
[MCP] introduce ty::WhereClause to align chalk and rustc dyn repr#85466csmoe wants to merge 2 commits intorust-lang:masterfrom
Conversation
|
Some changes occured to the CTFE / Miri engine cc @rust-lang/miri |
This comment has been minimized.
This comment has been minimized.
|
☔ The latest upstream changes (presumably #85954) made this pull request unmergeable. Please resolve the merge conflicts. |
|
@nikomatsakis ping for a review🔔 |
compiler/rustc_middle/src/ty/sty.rs
Outdated
There was a problem hiding this comment.
This isn't quite right. The difference between rustc and Chalk isn't solely the name. In Chalk, there's actually two layers of Binders. One that contains a single type that represents See https://github.com/rust-lang/chalk/blob/802599ce2ca02f322c078f472e64c5cd3a208225/chalk-solve/src/rust_ir.rs#L233Self, and one that represents the vars on the predicates itself.
edit: this isn't actually accurate; let me write up a better comment
There was a problem hiding this comment.
I guess the big thing missing here is the removal of erase_self_ty. And along with that, make the Self ty actually be a bound var.
|
☔ The latest upstream changes (presumably #87424) made this pull request unmergeable. Please resolve the merge conflicts. |
|
ping from triage: |
|
@csmoe sorry this PR disappeared from my radar |
|
Are you still around? |
yep, time was tough. I'm back on this:) |
|
Augh! Let me give this a quick review @csmoe |
nikomatsakis
left a comment
There was a problem hiding this comment.
OK, so, I read the PR. From what I can tell, before this PR:
- We have
Binder<ExistentialPredicate>, whereExistentialPredicateis a subset of predicates that don't haveSelfposition specified.
After this PR:
- We introduce
WhereClauseto be the oldExistentialPredicate, and we makeExistentialPredicatean alias forBinder<WC>
This seems good, but indeed only a first step in the ultimate direction. Ultimately we want to extend WhereClause so it includes the Self type, and @jackh726 is right that this will mean introducing another level of Binder.
I think we also want to share WhereClause with Predicate.
This comment has been minimized.
This comment has been minimized.
|
☔ The latest upstream changes (presumably #89619) made this pull request unmergeable. Please resolve the merge conflicts. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
☔ The latest upstream changes (presumably #90734) made this pull request unmergeable. Please resolve the merge conflicts. |
|
The job Click to see the possible cause of the failure (guessed by this bot) |
|
☔ The latest upstream changes (presumably #91230) made this pull request unmergeable. Please resolve the merge conflicts. |
|
@csmoe Ping from triage: Any updates here? |
|
Closing this as inactive |
Closes rust-lang/types-team#30
Closes rust-lang/compiler-team#433
r? @nikomatsakis