| 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" | |
| } |