Introduce FirFunctionReturnTypeMismatchChecker

This commit is contained in:
vldf
2021-04-03 22:58:19 +03:00
committed by Mikhail Glukhikh
parent 24f1f1221e
commit 57d2eb5da2
80 changed files with 501 additions and 238 deletions
@@ -9,12 +9,12 @@ fun <T> foo(): T {
bar<T>(<!ARGUMENT_TYPE_MISMATCH!>null<!>)
bar<T?>(null)
return null
return <!RETURN_TYPE_MISMATCH!>null<!>
}
fun <T> baz(): T? = null
fun <T> foobar(): T = null
fun <T> foobar(): T = <!RETURN_TYPE_MISMATCH!>null<!>
class A<F> {
fun xyz(x: F) {}
@@ -26,10 +26,10 @@ class A<F> {
xyz(<!ARGUMENT_TYPE_MISMATCH!>null<!>)
bar<F?>(null)
return null
return <!RETURN_TYPE_MISMATCH!>null<!>
}
fun baz(): F? = null
fun foobar(): F = null
fun foobar(): F = <!RETURN_TYPE_MISMATCH!>null<!>
}
@@ -0,0 +1,11 @@
class Foo<out T>(val baz: Baz<T>)
class Bar {
val foo: Foo<*> = TODO()
fun <T> bar(): Baz<T> {
return <!RETURN_TYPE_MISMATCH!>foo.baz<!>
}
}
typealias Baz<T> = (@UnsafeVariance T) -> Unit
@@ -1,5 +1,3 @@
// FIR_IDENTICAL
class Foo<out T>(val baz: Baz<T>)
class Bar {
@@ -10,4 +8,4 @@ class Bar {
}
}
typealias Baz<T> = (@UnsafeVariance T) -> Unit
typealias Baz<T> = (@UnsafeVariance T) -> Unit