test(KT-51066): fixate behavior of value classes in composition with suspend lambdas.
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
// EXPECTED_REACHABLE_NODES: 1282
|
||||
// WITH_STDLIB
|
||||
package foo
|
||||
|
||||
import kotlin.coroutines.*
|
||||
import kotlin.coroutines.intrinsics.*
|
||||
|
||||
value class Res(val value: String)
|
||||
|
||||
suspend fun bar(): Res {
|
||||
val lambda: suspend () -> Res = { Res("OK") }
|
||||
return lambda.invoke()
|
||||
}
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(object : Continuation<Unit> {
|
||||
override val context = EmptyCoroutineContext
|
||||
|
||||
override fun resumeWith(result: Result<Unit>) {}
|
||||
})
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var result = ""
|
||||
|
||||
builder {
|
||||
result = bar().toString().substring(10, 12)
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
Reference in New Issue
Block a user