Files
kotlin-fork/compiler/testData/diagnostics/tests/inference/mapFunction.kt
T
2012-07-20 19:34:52 +04:00

29 lines
516 B
Kotlin

package a
//+JDK
import java.util.*
fun foo() {
val v = array(1, 2, 3)
val u = v map { it * 2 }
u : List<Int>
}
// ---------------------
// copy from kotlin util
fun <T> array(vararg t : T) : Array<T> = t
fun <T, R> Array<T>.map(transform : (T) -> R) : java.util.List<R> {
return mapTo(java.util.ArrayList<R>(this.size), transform)
}
fun <T, R, C: Collection<in R>> Array<T>.mapTo(result: C, transform : (T) -> R) : C {
for (item in this)
result.add(transform(item))
return result
}