blob: 5aff92029b997eeeb76319b5ee179a353273c4dc [file]
// RUN_PIPELINE_TILL: BACKEND
// ISSUE: KT-86292
// WITH_STDLIB
import kotlin.reflect.KProperty
fun <T> mk(): T = TODO()
class Foo<out T>(val v: T)
operator fun <T, S : T> Foo<T>.getValue(t: Any?, p: KProperty<*>): S =
@Suppress("UNCHECKED_CAST") (v as S)
fun main() {
val m: Map<String, Int> = mapOf("d" to 42)
val f: Foo<Int> = Foo(42)
val dm: String by <!INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_WARNING!>m<!>
val dmD: String = m.<!INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_WARNING!>getValue<!>(null, mk())
val df: String by <!INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_WARNING!>f<!>
val dfD: String = f.<!INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_WARNING!>getValue<!>(null, mk())
}
/* GENERATED_FIR_TAGS: asExpression, classDeclaration, funWithExtensionReceiver, functionDeclaration, integerLiteral,
intersectionType, localProperty, nullableType, operator, out, primaryConstructor, propertyDeclaration, propertyDelegate,
stringLiteral, typeConstraint, typeParameter */