Introduce FirFunctionReturnTypeMismatchChecker
This commit is contained in:
+4
-4
@@ -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<!>
|
||||
}
|
||||
|
||||
+11
@@ -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
-3
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user