432c9fe592
When detecting function delegation at the last statement position we need to make sure that delegating call has unit return type, otherwise we would try to return non-Unit value from a parent function returning Unit ^KT-60700 Fixed
22 lines
433 B
Kotlin
Vendored
22 lines
433 B
Kotlin
Vendored
// WITH_COROUTINES
|
|
// WITH_STDLIB
|
|
import helpers.*
|
|
import kotlin.coroutines.*
|
|
import kotlin.coroutines.intrinsics.*
|
|
|
|
suspend fun foo(x: suspend () -> Unit) = x()
|
|
|
|
suspend fun bar(): Int = suspendCoroutineUninterceptedOrReturn<Int> {
|
|
it.resume(1)
|
|
COROUTINE_SUSPENDED
|
|
}
|
|
|
|
fun box(): String {
|
|
var result = ""
|
|
suspend {
|
|
foo(::bar)
|
|
result += "OK"
|
|
}.startCoroutine(EmptyContinuation)
|
|
return result
|
|
}
|