crater: drop implied bound with non-universal region - #159706
Conversation
|
@bors try |
This comment has been minimized.
This comment has been minimized.
crater: drop implied bound with non-universal region
|
@craterbot check |
|
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
|
🚧 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
|
🎉 Experiment
Footnotes
|
|
The fact that these exist is quite dubious. Interesting that they don't matter for any crate, can you summarize the tests where we encounter these regions? |
|
ok! i will look into it this week. |
|
@rustbot author |
b356a17 to
e11f8d5
Compare
|
The job Click to see the possible cause of the failure (guessed by this bot) |
|
I re-based this PR on top of #160491 as the main branch will have cases where assertion is fired because hidden type of opaque for implied bound is used, which is less interesting as it will be fixed after #160491. Here's the result: Test failed
The implied bounds that trigger the assertion are the type of While I guess that the non-universal region is the unconstrained region from impl header, I am not sure how to verify it yet. I wasn't able to trace where |
| let r1 = self.universal_regions.to_region_vid(ra); | ||
| let r2 = self.universal_regions.to_region_vid(rb); | ||
| if !(self.universal_regions.is_universal_region(r1) | ||
| || self.universal_regions.is_universal_region(r2)) | ||
| { | ||
| assert!(false, "case one: {} <= {}", ra, rb); | ||
| } |
There was a problem hiding this comment.
Looking at this again, I noticed I missed the case where r1 xor r2 is non-universal region, I will open a follow-up PR with crater run that only includes this case that I missed.
There was a problem hiding this comment.
There isn't any case in our test suite where r1 xor r2 is non-universal region, I guess we can just safely ignore it?
Implied bound could wind up having non-universal region and this behavior is kind of baffling to me. Currently, dropping implied bound with non-universal region won't break any ui test, so I am opening this PR to run crater to see if it breaks anything in the ecosystem.
cc @lcnr