import kotlin.test.* fun copyArray(vararg data: T): Array = data inline fun reifiedCopyArray(vararg data: T): Array = 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") var rsarr = arrayOf("OK") var rsarr2 = reifiedCopyArray(*rsarr) rsarr[0] = "Array was not copied" assertEquals(rsarr2[0], "OK", "Failed: Array, reified copy") val iarr = IntArray(1) iarr[0] = 1 val iarr2 = copyIntArray(*iarr) iarr[0] = 42 assertEquals(iarr2[0], 1, "Failed: IntArray") return "OK" }