[FIR] Fix missing RETURN_TYPE_MISMATCH for labeled return statements
in lambda functions, ^KT-59907 Fixed
(cherry picked from commit 8e72f60996)
This commit is contained in:
committed by
Space Team
parent
e5530147f0
commit
4b9e15dfa8
Vendored
+1
-1
@@ -1,6 +1,6 @@
|
||||
fun test(a: Int) {
|
||||
run f@{
|
||||
if (a > 0) return@f
|
||||
if (a > 0) <!RETURN_TYPE_MISMATCH!>return@f<!>
|
||||
else return@f 1
|
||||
}
|
||||
}
|
||||
|
||||
-6
@@ -1,6 +0,0 @@
|
||||
val flag = true
|
||||
|
||||
val a = b@ {
|
||||
if (flag) return@b 4
|
||||
return@b
|
||||
}
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
// FIR_IDENTICAL
|
||||
val flag = true
|
||||
|
||||
val a = b@ {
|
||||
if (flag) return@b <!RETURN_TYPE_MISMATCH!>4<!>
|
||||
return@b
|
||||
}
|
||||
}
|
||||
Vendored
+2
-2
@@ -14,7 +14,7 @@ val b = run {
|
||||
|
||||
// Unit
|
||||
val c = run {
|
||||
if (flag) return@run
|
||||
if (flag) <!RETURN_TYPE_MISMATCH!>return@run<!>
|
||||
|
||||
return@run 4
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
fun test(a: Int) {
|
||||
run<Int>f@{
|
||||
if (a > 0) return@f <!ARGUMENT_TYPE_MISMATCH!>""<!>
|
||||
if (a > 0) return@f <!ARGUMENT_TYPE_MISMATCH, RETURN_TYPE_MISMATCH!>""<!>
|
||||
return@f 1
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user