Add test for array modification within for-in-array-withIndex loop body
This commit is contained in:
+30
@@ -0,0 +1,30 @@
|
||||
// See https://youtrack.jetbrains.com/issue/KT-22424
|
||||
// IGNORE_BACKEND: JS
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun testUnoptimized(): String {
|
||||
var arr = intArrayOf(1, 2, 3, 4)
|
||||
val sb = StringBuilder()
|
||||
val ixs = arr.withIndex()
|
||||
for ((i, x) in ixs) {
|
||||
sb.append("$i:$x;")
|
||||
arr = intArrayOf(10, 20)
|
||||
}
|
||||
return sb.toString()
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val tn = testUnoptimized()
|
||||
|
||||
var arr = intArrayOf(1, 2, 3, 4)
|
||||
val sb = StringBuilder()
|
||||
for ((i, x) in arr.withIndex()) {
|
||||
sb.append("$i:$x;")
|
||||
arr = intArrayOf(10, 20)
|
||||
}
|
||||
|
||||
val s = sb.toString()
|
||||
if (s != "0:1;1:2;2:3;3:4;") return "Fail: '$s'; unoptimized: '$tn'"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user