JVM KT-49548 progression iterators can be tainted

This commit is contained in:
Dmitry Petrov
2021-11-09 13:50:06 +03:00
committed by TeamCityServer
parent 646d156bde
commit 9a4cff0dc7
15 changed files with 193 additions and 32 deletions
@@ -0,0 +1,15 @@
// WITH_RUNTIME
val p0 = 0..3
fun test(): List<Int> {
val progression = if (p0.last == 3) p0 + 1 else p0
return progression.map { it }
}
fun box(): String {
val t = test()
if (t != listOf(0, 1, 2, 3, 1))
return "Failed: t=$t"
return "OK"
}
@@ -0,0 +1,13 @@
// WITH_RUNTIME
import kotlin.test.assertEquals
fun test() {
var i = 0
val a = ubyteArrayOf(3u, 2u, 1u)
a.forEach { e -> assertEquals(e, a[i++]) }
}
fun box(): String {
test()
return "OK"
}