[FIR] Implement TYPE_VARIANCE_CONFLICT, TYPE_VARIANCE_CONFLICT_IN_EXPANDED_TYPE diagnostics, fix tests

This commit is contained in:
Ivan Kochurkin
2021-05-21 17:53:01 +03:00
committed by TeamCityServer
parent ef53f0e0b3
commit cf531dbbe6
36 changed files with 392 additions and 300 deletions
@@ -1,14 +0,0 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
class Outer<out E, in F> {
inner class Inner {
fun unsafe1(x: E) {}
fun unsafe2(x: Collection<E?>) {}
fun unsafe3(): F? = null
fun unsafe4(): Collection<F>? = null
}
// Should be errors
// Refinement of variance checker is needed
fun foo(x: Inner) {}
fun bar(): Inner? = null
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER
class Outer<out E, in F> {
inner class Inner {