diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/intrinsics/IntrinsicArrayConstructors.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/intrinsics/IntrinsicArrayConstructors.kt index 7ecaf19fa00..a39fa8f4c56 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/intrinsics/IntrinsicArrayConstructors.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/intrinsics/IntrinsicArrayConstructors.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -@file:Suppress("unused", "UNCHECKED_CAST", "CAST_NEVER_SUCCEEDS") +@file:Suppress("unused", "UNCHECKED_CAST") package org.jetbrains.kotlin.codegen.intrinsics diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/results/OverloadingConflictResolver.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/results/OverloadingConflictResolver.kt index 92712cd45b3..9f86d2ff519 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/results/OverloadingConflictResolver.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/results/OverloadingConflictResolver.kt @@ -256,11 +256,9 @@ class OverloadingConflictResolver( companion object { // Different smartcasts may lead to the same candidate descriptor wrapped into different ResolvedCallImpl objects - @Suppress("CAST_NEVER_SUCCEEDS") private fun uniquifyCandidatesSet(candidates: Collection>): Set> = THashSet>(candidates.size, getCallHashingStrategy>()).apply { addAll(candidates) } - @Suppress("CAST_NEVER_SUCCEEDS") private fun newResolvedCallSet(expectedSize: Int): MutableSet = THashSet(expectedSize, getCallHashingStrategy()) diff --git a/core/builtins/src/kotlin/ArrayIntrinsics.kt b/core/builtins/src/kotlin/ArrayIntrinsics.kt index 0be76d8a78f..8fd88ab05d9 100644 --- a/core/builtins/src/kotlin/ArrayIntrinsics.kt +++ b/core/builtins/src/kotlin/ArrayIntrinsics.kt @@ -22,5 +22,5 @@ import kotlin.internal.PureReifiable * Returns an empty array of the specified type [T]. */ public inline fun emptyArray(): Array = - @Suppress("CAST_NEVER_SUCCEEDS") - arrayOfNulls(0) as Array + @Suppress("UNCHECKED_CAST") + (arrayOfNulls(0) as Array) diff --git a/core/runtime.jvm/src/kotlin/jvm/internal/PrimitiveSpreadBuilders.kt b/core/runtime.jvm/src/kotlin/jvm/internal/PrimitiveSpreadBuilders.kt index 0d57ef2776a..60b59429134 100644 --- a/core/runtime.jvm/src/kotlin/jvm/internal/PrimitiveSpreadBuilders.kt +++ b/core/runtime.jvm/src/kotlin/jvm/internal/PrimitiveSpreadBuilders.kt @@ -21,7 +21,7 @@ abstract class PrimitiveSpreadBuilder(private val size: Int) { protected var position: Int = 0 - @Suppress("CAST_NEVER_SUCCEEDS") + @Suppress("UNCHECKED_CAST") private val spreads: Array = arrayOfNulls(size) as Array fun addSpread(spreadArgument: T) { diff --git a/libraries/stdlib/src/generated/_Arrays.kt b/libraries/stdlib/src/generated/_Arrays.kt index f382f366f61..7a8fbe81a2b 100644 --- a/libraries/stdlib/src/generated/_Arrays.kt +++ b/libraries/stdlib/src/generated/_Arrays.kt @@ -10973,7 +10973,7 @@ public fun Array.requireNoNulls(): Array { throw IllegalArgumentException("null element found in $this.") } } - @Suppress("CAST_NEVER_SUCCEEDS") + @Suppress("UNCHECKED_CAST") return this as Array } diff --git a/libraries/stdlib/src/generated/_Collections.kt b/libraries/stdlib/src/generated/_Collections.kt index af28a4f44c3..5c09c694d1d 100644 --- a/libraries/stdlib/src/generated/_Collections.kt +++ b/libraries/stdlib/src/generated/_Collections.kt @@ -827,7 +827,7 @@ public fun > MutableList.sortDescending(): Unit { public fun > Iterable.sorted(): List { if (this is Collection) { if (size <= 1) return this.toList() - @Suppress("CAST_NEVER_SUCCEEDS") + @Suppress("UNCHECKED_CAST") return (toTypedArray>() as Array).apply { sort() }.asList() } return toMutableList().apply { sort() } @@ -860,7 +860,7 @@ public fun > Iterable.sortedDescending(): List { public fun Iterable.sortedWith(comparator: Comparator): List { if (this is Collection) { if (size <= 1) return this.toList() - @Suppress("CAST_NEVER_SUCCEEDS") + @Suppress("UNCHECKED_CAST") return (toTypedArray() as Array).apply { sortWith(comparator) }.asList() } return toMutableList().apply { sortWith(comparator) } diff --git a/libraries/stdlib/src/kotlin/collections/Collections.kt b/libraries/stdlib/src/kotlin/collections/Collections.kt index 4767737c889..7ba67dd4939 100644 --- a/libraries/stdlib/src/kotlin/collections/Collections.kt +++ b/libraries/stdlib/src/kotlin/collections/Collections.kt @@ -159,7 +159,7 @@ internal fun List.optimizeReadOnlyList() = when (size) { private fun Array.copyToArrayOfAny(isVarargs: Boolean): Array = if (isVarargs && this.javaClass == Array::class.java) // if the array came from varargs and already is array of Any, copying isn't required - @Suppress("CAST_NEVER_SUCCEEDS") (this as Array) + @Suppress("UNCHECKED_CAST") (this as Array) else Arrays.copyOf(this, this.size, Array::class.java) diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt index 325cfd69d65..a68692e1d92 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt @@ -159,7 +159,7 @@ fun filtering(): List { val list = ArrayList(n) for (item in this) { if (count++ == n) - break; + break list.add(item) } return list @@ -292,7 +292,7 @@ fun filtering(): List { val list = ArrayList() for (item in this) { if (!predicate(item)) - break; + break list.add(item) } return list diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Guards.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Guards.kt index 57b18566c04..2e5f834dfc9 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Guards.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Guards.kt @@ -13,14 +13,14 @@ fun guards(): List { typeParam("T : Any") toNullableT = true returns("SELF") - body { f -> + body { """ for (element in this) { if (element == null) { throw IllegalArgumentException("null element found in $THIS.") } } - @Suppress("${if (f == InvariantArraysOfObjects) "CAST_NEVER_SUCCEEDS" else "UNCHECKED_CAST"}") + @Suppress("UNCHECKED_CAST") return this as SELF """ } @@ -32,4 +32,4 @@ fun guards(): List { } return templates -} \ No newline at end of file +} diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Ordering.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Ordering.kt index edee0847f21..bb65fc941bb 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Ordering.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Ordering.kt @@ -102,7 +102,7 @@ fun ordering(): List { """ if (this is Collection) { if (size <= 1) return this.toList() - @Suppress("CAST_NEVER_SUCCEEDS") + @Suppress("UNCHECKED_CAST") return (toTypedArray>() as Array).apply { sort() }.asList() } return toMutableList().apply { sort() } @@ -232,7 +232,7 @@ fun ordering(): List { """ if (this is Collection) { if (size <= 1) return this.toList() - @Suppress("CAST_NEVER_SUCCEEDS") + @Suppress("UNCHECKED_CAST") return (toTypedArray() as Array).apply { sortWith(comparator) }.asList() } return toMutableList().apply { sortWith(comparator) }