// FIR_IDENTICAL package foo import kotlin.reflect.KProperty class A1 { val a: String by MyProperty1() } class MyProperty1 {} operator fun MyProperty1.getValue(thisRef: Any?, desc: KProperty<*>): String { throw Exception("$thisRef $desc") } //-------------------- class A2 { val a: String by MyProperty2() } class MyProperty2 {} operator fun MyProperty2.getValue(thisRef: Any?, desc: KProperty<*>): T { throw Exception("$thisRef $desc") } //-------------------- class A3 { val a: String by MyProperty3() class MyProperty3 {} operator fun MyProperty3.getValue(thisRef: Any?, desc: KProperty<*>): T { throw Exception("$thisRef $desc") } }