8487211ae1
Private $$forInline versions of public suspend functions should not be mangled. (Note that there are no $$forInline versions of private suspend functions, as those are effectively inline-only.)
35 lines
690 B
Kotlin
Vendored
35 lines
690 B
Kotlin
Vendored
// FILE: test.kt
|
|
// WITH_RUNTIME
|
|
// WITH_COROUTINES
|
|
// NO_CHECK_LAMBDA_INLINING
|
|
// TARGET_BACKEND: JVM
|
|
// !INHERIT_MULTIFILE_PARTS
|
|
|
|
// The lambda in box() attempts to store the result in a null Ref for some reason.
|
|
// IGNORE_BACKEND: JVM
|
|
// IGNORE_BACKEND_MULTI_MODULE: JVM
|
|
|
|
@file:JvmMultifileClass
|
|
@file:JvmName("XKt")
|
|
|
|
suspend fun suspendHere() {}
|
|
|
|
suspend inline fun test(c: suspend () -> String): String {
|
|
suspendHere()
|
|
val result = c()
|
|
suspendHere()
|
|
return result
|
|
}
|
|
|
|
// FILE: box.kt
|
|
import kotlin.coroutines.*
|
|
import helpers.*
|
|
|
|
fun box() : String {
|
|
var res = "fail"
|
|
suspend {
|
|
res = test { "OK" }
|
|
}.startCoroutine(EmptyContinuation)
|
|
return res
|
|
}
|