blob: ec541756fc5862ea6b381ab1d8dde34384e336c1 [file]
// RUN_PIPELINE_TILL: CODEGEN
// 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 */