34 lines
653 B
Kotlin
Vendored
34 lines
653 B
Kotlin
Vendored
// !LANGUAGE: +InlineClasses
|
|
// WITH_STDLIB
|
|
|
|
// MODULE: lib
|
|
// USE_OLD_INLINE_CLASSES_MANGLING_SCHEME
|
|
// FILE: 1.kt
|
|
package test
|
|
|
|
inline class IC(val s: String)
|
|
|
|
fun ordinary(s: String, ic: IC): String = s + ic.s
|
|
|
|
suspend fun suspend(s: String, ic: IC): String = s + ic.s
|
|
|
|
// MODULE: main(lib)
|
|
// FILE: 2.kt
|
|
import kotlin.coroutines.*
|
|
import test.*
|
|
|
|
fun builder(c: suspend () -> Unit) {
|
|
c.startCoroutine(Continuation(EmptyCoroutineContext) {
|
|
it.getOrThrow()
|
|
})
|
|
}
|
|
|
|
fun box(): String {
|
|
var res = ordinary("O", IC("K"))
|
|
if (res != "OK") return "FAIL 1: $res"
|
|
builder {
|
|
res = suspend("O", IC("K"))
|
|
}
|
|
return res
|
|
}
|