blob: 91f73747c9a4cf076a522f8553df34cfbdaa4b7d [file]
// ISSUE: KT-65103
interface Consumer<in T>
public fun <T> buildConsumer(
b: Boolean,
block: (Consumer<T>) -> Unit
): T? = if (b) ("O" as T) else null
public fun <T> materialize(): T = "K" as T
fun expectConsumerString(x: Consumer<String>) {}
fun elvis(b: Boolean) =
buildConsumer(b) {
expectConsumerString(it)
} ?: materialize()
fun box(): String = elvis(true) + elvis(false)