blob: 4ea3f1001b3e285abfd961738f4eb1d5532e3a77 [file]
// RUN_PIPELINE_TILL: BACKEND
// FIR_IDENTICAL
// ISSUE: KT-58874
// WITH_STDLIB
// FIR_DUMP
import kotlin.reflect.KProperty
class State<S>(var value: S)
operator fun <V> State<V>.getValue(thisRef: Any?, property: KProperty<*>) = value
inline fun <M> remember(block: () -> M): M = block()
// list should have a type of List<Int>, not Any?
val list0 by remember { State(listOf(1)) }
fun expectInt(i: Int) {
println(i)
}
fun main() {
val list1 by remember { State(listOf(1)) }
expectInt(list0[0])
expectInt(list1[0])
}
/* GENERATED_FIR_TAGS: classDeclaration, funWithExtensionReceiver, functionDeclaration, functionalType, inline,
integerLiteral, lambdaLiteral, localProperty, nullableType, operator, primaryConstructor, propertyDeclaration,
propertyDelegate, starProjection, typeParameter */