KT-13931 generate IntRange#contains with respect to side-effects on argument loading, test added

This commit is contained in:
Vsevolod
2016-09-24 00:41:22 +03:00
committed by Dmitry Petrov
parent 1f9b148a5d
commit 1ac07340c9
3 changed files with 41 additions and 13 deletions
+25
View File
@@ -0,0 +1,25 @@
// WITH_RUNTIME
fun box(): String {
for (x in 1..10) {
assert(x in 1..10)
assert(x + 10 !in 1..10)
}
var x = 0
assert(0 !in 1..2)
assert(++x in 1..1)
assert(++x !in 1..1)
assert(sideEffect(x) in 2..3)
return "OK"
}
var invocationCounter = 0
fun sideEffect(x: Int): Int {
++invocationCounter
assert(invocationCounter == 1)
return x
}