// WITH_STDLIB import kotlin.experimental.ExperimentalTypeInference interface Callback { fun onSuccess() } public interface SendChannelX { public fun close(cause: Throwable? = null): Boolean } public interface ProducerScopeX { public val channel: SendChannelX fun foo(x: E) } public class FlowX {} @OptIn(ExperimentalTypeInference::class) public fun callbackFlowX(block: ProducerScopeX.() -> Unit): FlowX = FlowX() fun foo(): FlowX = callbackFlowX { object : Callback { override fun onSuccess() { channel.close() } } } fun box(): String { foo() return "OK" }