| import kotlin.test.* | |
| private class Integer(val value: Int) { | |
| operator fun inc() = Integer(value + 1) | |
| } | |
| private fun foo(x: Any, y: Any) { | |
| x.use() | |
| y.use() | |
| } | |
| fun box(): String { | |
| var x = Integer(0) | |
| for (i in 0..1) { | |
| val c = Integer(0) | |
| if (i == 0) x = c | |
| } | |
| // x refcount is 1. | |
| foo(x, ++x) | |
| return "OK" | |
| } | |
| private fun Any?.use() { | |
| var x = this | |
| } |