mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-09 00:21:47 +00:00
30 lines
753 B
Kotlin
Vendored
30 lines
753 B
Kotlin
Vendored
// WITH_RUNTIME
|
|
|
|
import kotlin.test.*
|
|
|
|
fun <T> copyArray(vararg data: T): Array<out T> = data
|
|
|
|
inline fun <reified T> reifiedCopyArray(vararg data: T): Array<out T> = data
|
|
|
|
fun copyIntArray(vararg data: Int): IntArray = data
|
|
|
|
fun box(): String {
|
|
val sarr = arrayOf("OK")
|
|
val sarr2 = copyArray(*sarr)
|
|
sarr[0] = "Array was not copied"
|
|
assertEquals(sarr2[0], "OK", "Failed: Array<String>")
|
|
|
|
var rsarr = arrayOf("OK")
|
|
var rsarr2 = reifiedCopyArray(*rsarr)
|
|
rsarr[0] = "Array was not copied"
|
|
assertEquals(rsarr2[0], "OK", "Failed: Array<String>, reified copy")
|
|
|
|
val iarr = IntArray(1)
|
|
iarr[0] = 1
|
|
val iarr2 = copyIntArray(*iarr)
|
|
iarr[0] = 42
|
|
assertEquals(iarr2[0], 1, "Failed: IntArray")
|
|
|
|
return "OK"
|
|
}
|