febac0dd5f
^KT-65979
26 lines
513 B
Kotlin
Vendored
26 lines
513 B
Kotlin
Vendored
// WITH_STDLIB
|
|
// MODULE: lib
|
|
// FILE: lib.kt
|
|
|
|
package a
|
|
|
|
fun IntArray.forEachNoInline(block: (Int) -> Unit) = this.forEach { block(it) }
|
|
|
|
inline fun fold(initial: Int, values: IntArray, crossinline block: (Int, Int) -> Int): Int {
|
|
var res = initial
|
|
values.forEachNoInline {
|
|
res = block(res, it)
|
|
}
|
|
return res
|
|
}
|
|
|
|
// MODULE: main(lib)
|
|
// FILE: main.kt
|
|
|
|
import a.*
|
|
import kotlin.test.*
|
|
|
|
fun box(): String {
|
|
assertEquals(6, fold(0, intArrayOf(1, 2, 3)) { x, y -> x + y })
|
|
return "OK"
|
|
} |