Files
kotlin-fork/compiler/testData/diagnostics/tests/resolve/invoke/kt3772.fir.kt
T
2020-02-11 19:32:07 +03:00

27 lines
415 B
Kotlin
Vendored

//KT-3772 Invoke and overload resolution ambiguity
package bar
open class A {
public operator fun invoke(f: A.() -> Unit) {}
}
class B {
public operator fun invoke(f: B.() -> Unit) {}
}
open class C
val C.attr: A
get() = A()
open class D: C()
val D.attr: B
get() = B()
fun main() {
val b = D()
b.attr {} // overload resolution ambiguity
val d = b.attr
d {} // no error
}