JVM: Suspend conversion for function references

This commit is contained in:
Dmitry Petrov
2020-04-23 15:20:44 +03:00
parent 6b9a7464f5
commit c7a96810bf
23 changed files with 886 additions and 25 deletions
@@ -0,0 +1,27 @@
// !LANGUAGE: +SuspendConversion
// WITH_RUNTIME
// WITH_COROUTINES
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND: JS
import helpers.*
import kotlin.coroutines.*
import kotlin.coroutines.intrinsics.*
fun runSuspend(c: suspend () -> Unit) {
c.startCoroutine(EmptyContinuation)
}
var test = "failed"
fun foo() { test = "OK" }
inline suspend fun invokeSuspend(fn: suspend () -> Unit) { fn() }
fun box(): String {
runSuspend {
invokeSuspend(::foo)
}
return test
}