From d8c4d191524542876b124e44abdb968dc4aa95a5 Mon Sep 17 00:00:00 2001 From: Ilmir Usmanov Date: Mon, 27 Nov 2017 17:18:19 +0300 Subject: [PATCH] Make suspendCoroutineOrReturn ordinary function --- .../kotlin/coroutines/experimental/intrinsics/Intrinsics.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libraries/stdlib/src/kotlin/coroutines/experimental/intrinsics/Intrinsics.kt b/libraries/stdlib/src/kotlin/coroutines/experimental/intrinsics/Intrinsics.kt index aa208f4354a..15ab608b353 100644 --- a/libraries/stdlib/src/kotlin/coroutines/experimental/intrinsics/Intrinsics.kt +++ b/libraries/stdlib/src/kotlin/coroutines/experimental/intrinsics/Intrinsics.kt @@ -40,9 +40,8 @@ import kotlin.coroutines.experimental.* @SinceKotlin("1.1") @kotlin.internal.InlineOnly @Suppress("UNUSED_PARAMETER") -// todo: this shall be ordinary function, but, unfortunately, bootstrap compiler does not have suspendCoroutineUninterceptedOrReturn and intercepted intrinsics public inline suspend fun suspendCoroutineOrReturn(crossinline block: (Continuation) -> Any?): T = - throw NotImplementedError("Implementation is intrinsic") + suspendCoroutineUninterceptedOrReturn { cont -> block(cont.intercepted()) } /** * Obtains the current continuation instance inside suspend functions and either suspends