// !JVM_DEFAULT_MODE: all // TARGET_BACKEND: JVM // WITH_RUNTIME // JVM_TARGET: 1.8 import kotlin.coroutines.* interface IOk { fun ok(): String = "OK" } @Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") @kotlin.jvm.JvmInline value class InlineClass(val s: String) : IOk suspend fun returnsUnboxed() = InlineClass("") suspend fun test(): String = returnsUnboxed().ok() fun builder(c: suspend () -> Unit) { c.startCoroutine(Continuation(EmptyCoroutineContext) { it.getOrThrow() }) } fun box(): String { var res = "FAIL" builder { res = test() } return res }