// IGNORE_BACKEND_FIR: JVM_IR // WITH_RUNTIME // MODULE: lib // FILE: common.kt class C(var t: T) class G(var t: T) var C.live: T get() { return t } set(value) { t = value } var G.live: T get() { return t } set(value) { t = value } // MODULE: main(lib) // FILE: main.kt import kotlin.reflect.KMutableProperty0 fun qux(text: KMutableProperty0, s: String): String { text.set(s) return text.get() } fun box(): String { val c = C("FAIL_C") val g = G("FAIL_G") return qux(c::live, "O") + qux(g::live, "K") }