Exhaustiveness checking: work around type normalization issues#72506
Exhaustiveness checking: work around type normalization issues#72506bors merged 4 commits intorust-lang:masterfrom
Conversation
|
r? @davidtwco (rust_highfive has picked a reviewer for you, use r? to override) |
|
cc @matthewjasper I think |
davidtwco
left a comment
There was a problem hiding this comment.
LGTM, probably should have someone more experienced look over it though.
|
@Nadrieril Would it make sense to open an issue about properly fixing this? |
|
I guess yeah. I'm not super motivated to do it though, it would take some work to explain properly what the issue is |
|
The issue is that I think that I would prefer normalization to be used here, because it's more consistent with how things have to be done in general. |
|
I made this PR as an emergency fixup because the related issue was high priority. I'd still like to fix this properly, but I don't think adding normalization after field.ty would be enough. There's a bunch of different places that inspect types, and I don't understand the rationale and invariants related to type normalization. It's already the second uncaught problem surfaced by this change so I'd prefer to be safe and merge this first |
|
Since #72476 is P-critical, may I insist a bit to get this merged quickly? |
|
@bors r+ |
|
📌 Commit 3e8ba3a has been approved by |
|
Thank you 🙏 |
|
Per discussion in the compiler team triage meeting today, I'm going to bump the priority on this since it fixes a @bors p=1 |
|
⌛ Testing commit 3e8ba3a with merge 7c0b6f8f94538a4818d099aaae778813a4d3303e... |
|
@bors retry yield |
|
⌛ Testing commit 3e8ba3a with merge 052c781a6ae34fbd658d72226577c5cfb6be84b3... |
|
@bors retry yield |
|
☀️ Test successful - checks-azure |
Oh, I just understood this comment x) The error popped up again (in #89393) because I hadn't fixed it properly. I understand how to now. |
This should resolve #72476 and probably #72467.
This is a bit hacky but that's actually what the code was doing before #71930. I'm essentially reverting e5a2cd5. So despite being hacky, it's been tried and tested (so much so that code relies on it now x)).
Only the third commit does anything interesting.