// ISSUE: KT-65101 // WITH_STDLIB interface Context> interface InterfaceA> class ABuilder, A: InterfaceA, B: InterfaceA> operator fun ABuilder.invoke(block: B.() -> Unit): Unit where C: Context, A: InterfaceA, B: InterfaceA = null!! object ContextImpl : Context object RootA : InterfaceA class AImpl> : InterfaceA

{ fun foo(): Int = null!! } val , A: InterfaceA> A.impl get() = ABuilder>() fun test_1() { RootA.apply { (impl) { foo() } } } fun test_2() { RootA.apply { impl { foo() } } }