diff --git a/libraries/stdlib/jvm/runtime/kotlin/jvm/internal/CollectionToArray.kt b/libraries/stdlib/jvm/runtime/kotlin/jvm/internal/CollectionToArray.kt index 637372d4d12..502ba26572e 100644 --- a/libraries/stdlib/jvm/runtime/kotlin/jvm/internal/CollectionToArray.kt +++ b/libraries/stdlib/jvm/runtime/kotlin/jvm/internal/CollectionToArray.kt @@ -14,6 +14,9 @@ import java.util.Arrays private val EMPTY = emptyArray() // shared empty array private const val MAX_SIZE = Int.MAX_VALUE - 2 // empirically maximal array size that can be allocated without exceeding VM limits +// TODO: eventually should become internal @PublishedApi +@Deprecated("This function will be made internal in a future release") +@DeprecatedSinceKotlin(warningSince = "1.9") @JvmName("toArray") fun collectionToArray(collection: Collection<*>): Array = toArrayImpl( @@ -24,6 +27,9 @@ fun collectionToArray(collection: Collection<*>): Array = ) // Note: Array here can have any reference array JVM type at run time +// TODO: eventually should become internal @PublishedApi +@Deprecated("This function will be made internal in a future release") +@DeprecatedSinceKotlin(warningSince = "1.9") @JvmName("toArray") fun collectionToArray(collection: Collection<*>, a: Array?): Array { // Collection.toArray contract requires that NullPointerException is thrown when array is null diff --git a/libraries/stdlib/jvm/src/kotlin/collections/CollectionsJVM.kt b/libraries/stdlib/jvm/src/kotlin/collections/CollectionsJVM.kt index ae8aecbe009..1379048fc42 100644 --- a/libraries/stdlib/jvm/src/kotlin/collections/CollectionsJVM.kt +++ b/libraries/stdlib/jvm/src/kotlin/collections/CollectionsJVM.kt @@ -76,12 +76,13 @@ public actual fun Iterable.shuffled(): List = toMutableList().apply { public fun Iterable.shuffled(random: java.util.Random): List = toMutableList().apply { shuffle(random) } +@Suppress("DEPRECATION") @kotlin.internal.InlineOnly internal actual inline fun collectionToArray(collection: Collection<*>): Array = kotlin.jvm.internal.collectionToArray(collection) @kotlin.internal.InlineOnly -@Suppress("UNCHECKED_CAST") +@Suppress("UNCHECKED_CAST", "DEPRECATION") internal actual inline fun collectionToArray(collection: Collection<*>, array: Array): Array = kotlin.jvm.internal.collectionToArray(collection, array as Array) as Array