// !CHECK_TYPE package a //+JDK import java.util.* import checkSubtype fun foo() { val v = array(1, 2, 3) val u = v map { it * 2 } checkSubtype>(u) val a = 1..5 val b = a.map { it * 2 } checkSubtype>(b) //check for non-error types checkSubtype(u) checkSubtype(b) } // --------------------- // copy from kotlin util (but with `infix` modifier on `map`) @Suppress("UNCHECKED_CAST") fun array(vararg t : T) : Array = t as Array infix fun Array.map(transform : (T) -> R) : List {} infix fun Iterable.map(transform : (T) -> R) : List {}