Files
kotlin-fork/compiler/testData/codegen/box/ranges/forInDoubleRangeWithCustomIterator.kt
T
Ivan Kylchik c7435ba760 Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00

29 lines
578 B
Kotlin
Vendored

// IGNORE_BACKEND: JVM
// WITH_STDLIB
operator fun ClosedRange<Double>.iterator() =
object : Iterator<Double> {
private var current = this@iterator.start
private val end = this@iterator.endInclusive
override fun hasNext(): Boolean =
current <= end
override fun next(): Double {
val next = current
current += 0.1
return next
}
}
fun box(): String {
var s = 0.0
for (x in 0.0 .. 1.0) {
s += x
}
if (s != 5.5)
return "Failed: $s"
return "OK"
}