JVM_IR. Do not unbox Result in inline lambda

Since JVM_IR generates inline lambdas differently from old backend,
in this case, it generates them as normal functions.
Thus, there is no need to unbox the lambda argument.
 #KT-44671 Fixed
This commit is contained in:
Ilmir Usmanov
2021-02-04 02:29:42 +01:00
parent fb296b5b95
commit cd189c0812
9 changed files with 68 additions and 0 deletions
@@ -0,0 +1,29 @@
// WITH_RUNTIME
import kotlin.coroutines.intrinsics.*
import kotlin.coroutines.*
fun myRun(c: () -> Unit) {
c()
}
@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER")
fun box(): String {
var contiuation: Continuation<Unit>? = null
val c: suspend () -> Unit = {
suspendCoroutine {
contiuation = it
}
}
var exception: Throwable? = null
myRun {
c.startCoroutineUninterceptedOrReturn(Continuation(EmptyCoroutineContext) {
exception = it.exceptionOrNull()
})
}
contiuation?.resumeWithException(RuntimeException("OK"))
return exception!!.message!!
}