Files
kotlin-fork/compiler/testData/codegen/box/extensionFunctions/contextReceivers/fromKEEP/decimateEveryEvenThird.kt
T
2021-12-02 20:24:16 +03:00

18 lines
421 B
Kotlin
Vendored

// !LANGUAGE: +ContextReceivers
// TARGET_BACKEND: JVM_IR
// IGNORE_BACKEND_FIR: JVM_IR
// WITH_RUNTIME
fun List<Int>.decimateEveryEvenThird() = sequence {
var counter = 1
for (e in this@List) {
if (e % 2 == 0 && counter % 3 == 0) {
yield(e)
}
counter += 1
}
}
fun box() = with(listOf(0, 1, 2).decimateEveryEvenThird()) {
if (toList() == listOf(2)) "OK" else "fail"
}