[FIR] Report missing ASSIGNMENT_TYPE_MISMATCH on functional types

^KT-45989
This commit is contained in:
Dmitriy Novozhilov
2023-04-28 14:52:19 +03:00
committed by Space Team
parent 71d6103122
commit 82653855ab
8 changed files with 13 additions and 17 deletions
@@ -5,9 +5,9 @@ fun takeLambda1(f: String.() -> String) {}
fun takeLambda2(f: String.(String) -> String) {}
fun test_1() {
val x1: String.(String) -> String = { str, <!CANNOT_INFER_PARAMETER_TYPE!>str2<!> -> "this" }
val x1: String.(String) -> String = <!INITIALIZER_TYPE_MISMATCH!>{ str, <!CANNOT_INFER_PARAMETER_TYPE!>str2<!> -> "this" }<!>
val x2: String.() -> String = { <!UNRESOLVED_REFERENCE!>it<!> }
val x3: String.() -> String = { <!CANNOT_INFER_PARAMETER_TYPE!>x<!> -> "x" }
val x3: String.() -> String = <!INITIALIZER_TYPE_MISMATCH!>{ <!CANNOT_INFER_PARAMETER_TYPE!>x<!> -> "x" }<!>
}
fun test_2() {
@@ -23,7 +23,7 @@ fun main() {
foo(<!ARGUMENT_TYPE_MISMATCH!>fun(): String = "1"<!>)
foo(((<!ARGUMENT_TYPE_MISMATCH!>fun(): String = "1"<!>)))
val a10: Int.(String) -> Int = fun (x: String) = 10
val a10: Int.(String) -> Int = <!INITIALIZER_TYPE_MISMATCH!>fun (x: String) = 10<!>
val a11: () -> () -> () -> Int = <!INITIALIZER_TYPE_MISMATCH!>fun() = fun() = fun(): String = "1"<!>
val a12: Int = <!INITIALIZER_TYPE_MISMATCH!>fun(): String = "1"<!>