Match triangle & diamond intersections in FirTypeIntersectionScope

This commit is contained in:
Mikhail Glukhikh
2021-03-22 16:13:27 +03:00
parent a7a1b678bd
commit 9f27362ee1
19 changed files with 590 additions and 176 deletions
@@ -0,0 +1,22 @@
interface Left
interface Right
class Bottom : Left, Right
interface A<T> {
fun f(): T? {
return null
}
}
interface B<T : Left> : A<T> {
override fun f(): T? {
return null
}
}
abstract class C<T> : A<T>
abstract class D<T : Right> : C<T>()
// We should not have intersection override f() in this class
class Z : D<Bottom>(), B<Bottom>