a3f676317f
Type parameters can be referred from e.g. function return type, so we should determine them earlier to be able to set their indexes
20 lines
421 B
Kotlin
Vendored
20 lines
421 B
Kotlin
Vendored
// TARGET_BACKEND: JVM
|
|
// JVM_TARGET: 1.8
|
|
//WITH_RUNTIME
|
|
|
|
// FILE: 1.kt
|
|
package test
|
|
|
|
public inline fun <T, R> Iterable<T>.fold2(initial: R, operation: (R, T) -> R): R {
|
|
var accumulator = initial
|
|
for (element in this) accumulator = operation(accumulator, element)
|
|
return accumulator
|
|
}
|
|
|
|
// FILE: 2.kt
|
|
import test.*
|
|
|
|
fun box(): String {
|
|
val list = listOf("O", "K")
|
|
return list.fold2("") {a, b -> a +b}
|
|
} |