Files
kotlin-fork/compiler/testData/codegen/box/functions/invoke/kt3772.kt
T
2020-02-11 23:14:51 +03:00

21 lines
335 B
Kotlin
Vendored

//KT-3772 Invoke and overload resolution ambiguity
open class A {
fun invoke(f: A.() -> Unit) = 1
}
class B {
operator fun invoke(f: B.() -> Unit) = 2
}
open class C
val C.attr: A get() = A()
open class D: C()
val D.attr: B get() = B()
fun box(): String {
val d = D()
return if (d.attr {} == 2) "OK" else "fail"
}