// ISSUE: KT-61978 // WITH_REFLECT // WITH_STDLIB // IGNORE_INLINER: IR // java.lang.UnsupportedOperationException // (this function has a reified type parameter and thus can only be inlined at compilation time, not called directly) // at Klass.(DelegationByFunctionWithEnumUpperBound.kt:23) import kotlin.properties.ReadWriteProperty import kotlin.reflect.KProperty enum class Enumeration { OK } inline fun > delegate() = object: ReadWriteProperty { override fun getValue(thisRef: Any?, property: KProperty<*>): T? = Enumeration.OK as T? override fun setValue(thisRef: Any?, property: KProperty<*>, value: T?) {} } class Klass { var enumeration: Enumeration? by delegate() } fun box(): String { return Klass().enumeration.toString() }