// !LANGUAGE: -ForbidUsingExtensionPropertyTypeParameterInDelegate // IGNORE_BACKEND: NATIVE //For KT-6020 // MODULE: lib // FILE: lib.kt import kotlin.reflect.KProperty1 import kotlin.reflect.KMutableProperty1 import kotlin.reflect.KProperty class Value(var value: T = null as T, var text: String? = null) val Value.additionalText by DVal(Value::text) //works val Value.additionalValue by DVal(Value::value) //not work class DVal>(val kmember: P) { operator fun getValue(t: T, p: KProperty<*>): R { return kmember.get(t) } } // MODULE: main(lib) // FILE: main.kt fun box(): String { val p = Value("O", "K") return p.additionalValue + p.additionalText }