You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix#21295: Restrict provablyDisjoint with Nothings in invariant type params.
If `Foo[T]` is invariant in `T`, we previously concluded that
`Foo[A] ⋔ Foo[B]` from `A ⋔ B`. That is however wrong if both `A`
and `B` can be (instantiated to) `Nothing`.
We now rule out these occurrences in two ways:
* either we show that `T` corresponds to a field, like we do in the
covariant case, or
* we show that `A` or `B` cannot possibly be `Nothing`.
The second condition is shaky at best. I would have preferred not
to include it. However, introducing the former without the fallback
on the latter breaks too many existing test cases.
0 commit comments