fun box(): String { var log = "" var s: Any? = null for (t in arrayOf("1", "2", "3")) { class A() { fun foo() = { t } } if (s == null) { s = A() } log += (s as A).foo()() } if (log != "111") return "fail1: ${log}" s = null log = "" for (t in arrayOf("1", "2", "3")) { class B() { val y = t fun foo() = { y } } if (s == null) { s = B() } log += (s as B).foo()() } if (log != "111") return "fail2: ${log}" return "OK" }