Files
kotlin-fork/compiler/testData/codegen/box/casts/kt53677.kt
T

29 lines
676 B
Kotlin
Vendored

// WITH_STDLIB
// WITH_COROUTINES
// DONT_TARGET_EXACT_BACKEND: JVM
// DONT_TARGET_EXACT_BACKEND: JS
import kotlin.coroutines.*
public inline fun <reified T> myEmptyArray(): Array<T> = arrayOfNulls<T>(0) as Array<T>
inline fun <reified T> Array<out T>?.myOrEmpty(): Array<out T> = this ?: myEmptyArray<T>()
fun <T> runBlocking(c: suspend () -> T): T {
var res: T? = null
c.startCoroutine(Continuation(EmptyCoroutineContext) {
res = it.getOrThrow()
})
return res!!
}
suspend fun suspendHere(x: String) {}
suspend fun main() {
arrayOf("1").myOrEmpty().forEach { suspendHere(it) }
}
fun box(): String {
runBlocking(::main)
return "OK"
}