// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME // FILE: test.kt fun box(): String { class Local(val i: Int, val j: Int) : Foo() { init { log.append("Local.;") } } Local( logged("i;", 1.let { it }), logged("j;", 2.let { it }) ) val result = log.toString() if (result != "Foo.;i;j;Foo.;Local.;") return "Fail: '$result'" return "OK" } // FILE: util.kt val log = StringBuilder() fun logged(msg: String, value: T): T { log.append(msg) return value } // FILE: Foo.kt open class Foo { init { log.append("Foo.;") } companion object { init { log.append("Foo.;") } } }