blob: eeadcf5618546cb317d12864d59284b03a2f406b [file] [log] [blame]
@file:Suppress("PackageDirectoryMismatch")
package example
import kotlinx.coroutines.*
object PublicApiImplementation : CoroutineScope by CoroutineScope(CoroutineName("Example")) {
private fun doWork(): Int {
error("Internal invariant failed")
}
private fun asynchronousWork(): Int {
return doWork() + 1
}
public suspend fun awaitAsynchronousWorkInMainThread() {
val task = async(Dispatchers.Default) {
asynchronousWork()
}
task.await()
}
}
suspend fun main() {
// Try to switch debug mode on and off to see the difference
PublicApiImplementation.awaitAsynchronousWorkInMainThread()
}