Uh oh!
There was an error while loading. Please reload this page.
Remove ReEmpty - #98559
Conversation
This comment has been minimized.
This comment has been minimized.
da99507 to
531c765Compare
This comment has been minimized.
This comment has been minimized.
bors
commented
Jun 28, 2022
☔ The latest upstream changes (presumably #98591) made this pull request unmergeable. Please resolve the merge conflicts. |
This comment has been minimized.
This comment has been minimized.
Uh oh!
There was an error while loading. Please reload this page.
bors
commented
Jun 29, 2022
☔ The latest upstream changes (presumably #98542) made this pull request unmergeable. Please resolve the merge conflicts. |
jackh726
commented
Jul 2, 2022
Blocked on #98795 and some fiddling with the best way to the |
This comment has been minimized.
This comment has been minimized.
bors
commented
Jul 5, 2022
☔ The latest upstream changes (presumably #98584) made this pull request unmergeable. Please resolve the merge conflicts. |
…anup, r=compiler-errors A few cleanups Each commit is (mostly) self-explanatory. These changes have come as I try to remove `ReEmpty` (rust-lang#98559).
…anup, r=compiler-errors A few cleanups Each commit is (mostly) self-explanatory. These changes have come as I try to remove `ReEmpty` (rust-lang#98559).
…anup, r=compiler-errors A few cleanups Each commit is (mostly) self-explanatory. These changes have come as I try to remove `ReEmpty` (rust-lang#98559).
cb38214 to
fa7b0bbComparejackh726
commented
Sep 8, 2022
I think this is good to go. The problem I was facing before went away on its own. |
bors
commented
Sep 9, 2022
💔 Test failed - checks-actions |
rust-log-analyzer
commented
Sep 9, 2022
The job Click to see the possible cause of the failure (guessed by this bot) |
oli-obk
commented
Sep 9, 2022
cc @compiler-errors ICEy interactions with 🐸 types (RPITIT) |
compiler-errors
commented
Sep 9, 2022
I'll look into it this weekend |
Equate fn outputs when inferring RPITIT hidden types
When we are trying to infer the hidden types for RPITITs, we need to equate the output tys instead of just subtyping them. For example:
```rust
trait Foo { fn bar() -> impl Sized {} }
impl Foo for () { fn bar() -> &'static str { "" } }
```
If we just subtype the signatures `fn() -> &'static str <: fn() -> _#1t` (where `_#1t` is the variable we've used to infer `impl Sized`), we'll end up `&'static str <: _#1t`, which causes us to infer `_#1t = #'_#2r str`, where `'_#2r` is unconstrained, which gets fixed up to `ReEmpty`, and which is certainly not what we want.
I can't actually think of a way to make this fail to compile, because during borrowck we've already done the method probe, and so we just look at the `impl` method signature and see the `&'static str` any time we call `<() as Foo>::bar()`. But this _does_ cause the ICE [here](rust-lang#98559 (comment)) in `@jackh726's` "Remove ReEmpty" PR (rust-lang#98559) to stop ICEing, because after that PR we were leaking unconstrained region variables into the typeck results.
r? typesjackh726
commented
Sep 10, 2022
| (VarValue::Empty(a_ui), VarValue::Empty(b_ui)) => { | ||
| // Empty regions are ordered according to the universe | ||
| // they are associated with. | ||
| a_ui.min(b_ui) == b_ui |
There was a problem hiding this comment.
is this not a >= b ? or am I misunderstanding what min is doing?
bors
commented
Sep 10, 2022
bors
commented
Sep 10, 2022
☀️ Test successful - checks-actions |
rust-timer
commented
Sep 11, 2022
Finished benchmarking commit (2287107): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesThis benchmark run did not return any relevant results for this metric. Footnotes |
@jackh726 seeing an ICE which bisected to this merge, stacktrace: I will try to produce a MRE |
Remove ReEmpty r? rust-lang/types
QuentinPerez
commented
Oct 11, 2022
I just tried the latest nightly (2022-10-11) after 1 month and this patch still causes an ICE. Is it something that can be solved easily or planned to be fixed? |
r? rust-lang/types