[NI] Finish analysis for coerced last lambda expressions if needed
This commit is contained in:
+35
@@ -0,0 +1,35 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
|
||||
fun <T> myRun(action: () -> T): T = action()
|
||||
fun foo(): String = "foo"
|
||||
|
||||
fun <K> materialize(): K {
|
||||
result += "K"
|
||||
return "str" as K
|
||||
}
|
||||
|
||||
var result = "fail"
|
||||
|
||||
fun test1(n: Number, b: Boolean) {
|
||||
n.let {
|
||||
if (b) return@let
|
||||
|
||||
myRun {
|
||||
result = "O"
|
||||
foo()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun test2(n: Number, b: Boolean) {
|
||||
n.let {
|
||||
if (b) return@let
|
||||
materialize()
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
test1(42, false)
|
||||
test2(42, false)
|
||||
return result
|
||||
}
|
||||
Reference in New Issue
Block a user