From d9ab96126d962c3216707e5e751ca2328f5e3ca0 Mon Sep 17 00:00:00 2001 From: Abduqodiri Qurbonzoda Date: Fri, 26 Mar 2021 01:55:25 +0300 Subject: [PATCH] Advance deprecation level of mixed Int/FP overloads of ClosedRange.contains to HIDDEN KT-22423 --- libraries/stdlib/api/js-v1/kotlin.ranges.kt | 32 +++++++++---------- libraries/stdlib/api/js/kotlin.ranges.kt | 32 +++++++++---------- .../stdlib/common/src/generated/_Ranges.kt | 32 +++++++++---------- libraries/stdlib/test/ranges/RangeTest.kt | 30 ----------------- .../kotlin-stdlib-runtime-merged.txt | 32 +++++++++---------- .../kotlin-stdlib-gen/src/templates/Ranges.kt | 2 +- 6 files changed, 65 insertions(+), 95 deletions(-) diff --git a/libraries/stdlib/api/js-v1/kotlin.ranges.kt b/libraries/stdlib/api/js-v1/kotlin.ranges.kt index 4ff0ed6a630..a1de3d05fc7 100644 --- a/libraries/stdlib/api/js-v1/kotlin.ranges.kt +++ b/libraries/stdlib/api/js-v1/kotlin.ranges.kt @@ -114,12 +114,12 @@ public inline operator fun > public inline operator fun kotlin.ranges.CharRange.contains(element: kotlin.Char?): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "byteRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Double): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "byteRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Float): kotlin.Boolean @@ -133,7 +133,7 @@ public operator fun kotlin.ranges.ClosedRange.contains(value: kotli public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Short): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "doubleRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Byte): kotlin.Boolean @@ -141,22 +141,22 @@ public operator fun kotlin.ranges.ClosedRange.contains(value: kot public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Float): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "doubleRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Int): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "doubleRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Long): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "doubleRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Short): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "floatRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Byte): kotlin.Boolean @@ -164,17 +164,17 @@ public operator fun kotlin.ranges.ClosedRange.contains(value: kotl public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Double): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "floatRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Int): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "floatRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Long): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "floatRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Short): kotlin.Boolean @@ -182,12 +182,12 @@ public operator fun kotlin.ranges.ClosedRange.contains(value: kotl public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Byte): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "intRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Double): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "intRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Float): kotlin.Boolean @@ -201,12 +201,12 @@ public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Byte): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "longRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Double): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "longRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Float): kotlin.Boolean @@ -220,12 +220,12 @@ public operator fun kotlin.ranges.ClosedRange.contains(value: kotli public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Byte): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "shortRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Double): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "shortRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Float): kotlin.Boolean diff --git a/libraries/stdlib/api/js/kotlin.ranges.kt b/libraries/stdlib/api/js/kotlin.ranges.kt index 024588ce5ee..771c9a2bae9 100644 --- a/libraries/stdlib/api/js/kotlin.ranges.kt +++ b/libraries/stdlib/api/js/kotlin.ranges.kt @@ -114,12 +114,12 @@ public inline operator fun > public inline operator fun kotlin.ranges.CharRange.contains(element: kotlin.Char?): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "byteRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Double): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "byteRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Float): kotlin.Boolean @@ -133,7 +133,7 @@ public operator fun kotlin.ranges.ClosedRange.contains(value: kotli public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Short): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "doubleRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Byte): kotlin.Boolean @@ -141,22 +141,22 @@ public operator fun kotlin.ranges.ClosedRange.contains(value: kot public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Float): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "doubleRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Int): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "doubleRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Long): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "doubleRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Short): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "floatRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Byte): kotlin.Boolean @@ -164,17 +164,17 @@ public operator fun kotlin.ranges.ClosedRange.contains(value: kotl public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Double): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "floatRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Int): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "floatRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Long): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "floatRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Short): kotlin.Boolean @@ -182,12 +182,12 @@ public operator fun kotlin.ranges.ClosedRange.contains(value: kotl public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Byte): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "intRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Double): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "intRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Float): kotlin.Boolean @@ -201,12 +201,12 @@ public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Byte): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "longRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Double): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "longRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Float): kotlin.Boolean @@ -220,12 +220,12 @@ public operator fun kotlin.ranges.ClosedRange.contains(value: kotli public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Byte): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "shortRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Double): kotlin.Boolean @kotlin.Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", warningSince = "1.3") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3") @kotlin.jvm.JvmName(name = "shortRangeContains") public operator fun kotlin.ranges.ClosedRange.contains(value: kotlin.Float): kotlin.Boolean diff --git a/libraries/stdlib/common/src/generated/_Ranges.kt b/libraries/stdlib/common/src/generated/_Ranges.kt index 5b8eff037b1..b20bb6b12a3 100644 --- a/libraries/stdlib/common/src/generated/_Ranges.kt +++ b/libraries/stdlib/common/src/generated/_Ranges.kt @@ -214,7 +214,7 @@ public operator fun ClosedRange.contains(value: Byte): Boolean { * Checks if the specified [value] belongs to this range. */ @Deprecated("This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4") +@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4", hiddenSince = "1.5") @kotlin.jvm.JvmName("doubleRangeContains") public operator fun ClosedRange.contains(value: Byte): Boolean { return contains(value.toDouble()) @@ -224,7 +224,7 @@ public operator fun ClosedRange.contains(value: Byte): Boolean { * Checks if the specified [value] belongs to this range. */ @Deprecated("This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4") +@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4", hiddenSince = "1.5") @kotlin.jvm.JvmName("floatRangeContains") public operator fun ClosedRange.contains(value: Byte): Boolean { return contains(value.toFloat()) @@ -234,7 +234,7 @@ public operator fun ClosedRange.contains(value: Byte): Boolean { * Checks if the specified [value] belongs to this range. */ @Deprecated("This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4") +@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4", hiddenSince = "1.5") @kotlin.jvm.JvmName("intRangeContains") public operator fun ClosedRange.contains(value: Double): Boolean { return value.toIntExactOrNull().let { if (it != null) contains(it) else false } @@ -244,7 +244,7 @@ public operator fun ClosedRange.contains(value: Double): Boolean { * Checks if the specified [value] belongs to this range. */ @Deprecated("This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4") +@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4", hiddenSince = "1.5") @kotlin.jvm.JvmName("longRangeContains") public operator fun ClosedRange.contains(value: Double): Boolean { return value.toLongExactOrNull().let { if (it != null) contains(it) else false } @@ -254,7 +254,7 @@ public operator fun ClosedRange.contains(value: Double): Boolean { * Checks if the specified [value] belongs to this range. */ @Deprecated("This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4") +@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4", hiddenSince = "1.5") @kotlin.jvm.JvmName("byteRangeContains") public operator fun ClosedRange.contains(value: Double): Boolean { return value.toByteExactOrNull().let { if (it != null) contains(it) else false } @@ -264,7 +264,7 @@ public operator fun ClosedRange.contains(value: Double): Boolean { * Checks if the specified [value] belongs to this range. */ @Deprecated("This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4") +@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4", hiddenSince = "1.5") @kotlin.jvm.JvmName("shortRangeContains") public operator fun ClosedRange.contains(value: Double): Boolean { return value.toShortExactOrNull().let { if (it != null) contains(it) else false } @@ -282,7 +282,7 @@ public operator fun ClosedRange.contains(value: Double): Boolean { * Checks if the specified [value] belongs to this range. */ @Deprecated("This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4") +@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4", hiddenSince = "1.5") @kotlin.jvm.JvmName("intRangeContains") public operator fun ClosedRange.contains(value: Float): Boolean { return value.toIntExactOrNull().let { if (it != null) contains(it) else false } @@ -292,7 +292,7 @@ public operator fun ClosedRange.contains(value: Float): Boolean { * Checks if the specified [value] belongs to this range. */ @Deprecated("This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4") +@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4", hiddenSince = "1.5") @kotlin.jvm.JvmName("longRangeContains") public operator fun ClosedRange.contains(value: Float): Boolean { return value.toLongExactOrNull().let { if (it != null) contains(it) else false } @@ -302,7 +302,7 @@ public operator fun ClosedRange.contains(value: Float): Boolean { * Checks if the specified [value] belongs to this range. */ @Deprecated("This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4") +@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4", hiddenSince = "1.5") @kotlin.jvm.JvmName("byteRangeContains") public operator fun ClosedRange.contains(value: Float): Boolean { return value.toByteExactOrNull().let { if (it != null) contains(it) else false } @@ -312,7 +312,7 @@ public operator fun ClosedRange.contains(value: Float): Boolean { * Checks if the specified [value] belongs to this range. */ @Deprecated("This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4") +@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4", hiddenSince = "1.5") @kotlin.jvm.JvmName("shortRangeContains") public operator fun ClosedRange.contains(value: Float): Boolean { return value.toShortExactOrNull().let { if (it != null) contains(it) else false } @@ -354,7 +354,7 @@ public operator fun ClosedRange.contains(value: Int): Boolean { * Checks if the specified [value] belongs to this range. */ @Deprecated("This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4") +@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4", hiddenSince = "1.5") @kotlin.jvm.JvmName("doubleRangeContains") public operator fun ClosedRange.contains(value: Int): Boolean { return contains(value.toDouble()) @@ -364,7 +364,7 @@ public operator fun ClosedRange.contains(value: Int): Boolean { * Checks if the specified [value] belongs to this range. */ @Deprecated("This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4") +@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4", hiddenSince = "1.5") @kotlin.jvm.JvmName("floatRangeContains") public operator fun ClosedRange.contains(value: Int): Boolean { return contains(value.toFloat()) @@ -398,7 +398,7 @@ public operator fun ClosedRange.contains(value: Long): Boolean { * Checks if the specified [value] belongs to this range. */ @Deprecated("This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4") +@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4", hiddenSince = "1.5") @kotlin.jvm.JvmName("doubleRangeContains") public operator fun ClosedRange.contains(value: Long): Boolean { return contains(value.toDouble()) @@ -408,7 +408,7 @@ public operator fun ClosedRange.contains(value: Long): Boolean { * Checks if the specified [value] belongs to this range. */ @Deprecated("This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4") +@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4", hiddenSince = "1.5") @kotlin.jvm.JvmName("floatRangeContains") public operator fun ClosedRange.contains(value: Long): Boolean { return contains(value.toFloat()) @@ -442,7 +442,7 @@ public operator fun ClosedRange.contains(value: Short): Boolean { * Checks if the specified [value] belongs to this range. */ @Deprecated("This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4") +@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4", hiddenSince = "1.5") @kotlin.jvm.JvmName("doubleRangeContains") public operator fun ClosedRange.contains(value: Short): Boolean { return contains(value.toDouble()) @@ -452,7 +452,7 @@ public operator fun ClosedRange.contains(value: Short): Boolean { * Checks if the specified [value] belongs to this range. */ @Deprecated("This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.") -@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4") +@DeprecatedSinceKotlin(warningSince = "1.3", errorSince = "1.4", hiddenSince = "1.5") @kotlin.jvm.JvmName("floatRangeContains") public operator fun ClosedRange.contains(value: Short): Boolean { return contains(value.toFloat()) diff --git a/libraries/stdlib/test/ranges/RangeTest.kt b/libraries/stdlib/test/ranges/RangeTest.kt index f2408eaf8ca..58bd815be9a 100644 --- a/libraries/stdlib/test/ranges/RangeTest.kt +++ b/libraries/stdlib/test/ranges/RangeTest.kt @@ -31,10 +31,6 @@ public class RangeTest { assertTrue(1.toShort() in range) assertTrue(1.toByte() in range) assertTrue(1.toLong() in range) - run @Suppress("DEPRECATION_ERROR") { - assertTrue(1.toFloat() in range) - assertTrue(1.toDouble() in range) - } assertFalse(Long.MAX_VALUE in range) @@ -70,10 +66,6 @@ public class RangeTest { assertTrue(1.toShort() in range) assertTrue(1.toInt() in range) assertTrue(1.toLong() in range) - run @Suppress("DEPRECATION_ERROR") { - assertTrue(1.toFloat() in range) - assertTrue(1.toDouble() in range) - } assertFalse(Long.MAX_VALUE in range) @@ -108,10 +100,6 @@ public class RangeTest { assertTrue(1.toByte() in range) assertTrue(1.toInt() in range) assertTrue(1.toLong() in range) - run @Suppress("DEPRECATION_ERROR") { - assertTrue(1.toFloat() in range) - assertTrue(1.toDouble() in range) - } assertFalse(Long.MAX_VALUE in range) @@ -148,12 +136,6 @@ public class RangeTest { assertTrue(1.toByte() in range) assertTrue(1.toShort() in range) assertTrue(1.toInt() in range) - run @Suppress("DEPRECATION_ERROR") { - assertTrue(1.toFloat() in range) - assertTrue(1.toDouble() in range) - - assertFalse(Double.MAX_VALUE in range) - } assertFalse(null in range) assertTrue(1L as Long? in range) @@ -218,12 +200,6 @@ public class RangeTest { assertFalse(range.isEmpty()) - run @Suppress("DEPRECATION_ERROR") { - assertTrue(1.toByte() in range) - assertTrue(1.toShort() in range) - assertTrue(1.toInt() in range) - assertTrue(1.toLong() in range) - } assertTrue(1.toFloat() in range) val zeroRange = 0.0..-0.0 @@ -266,12 +242,6 @@ public class RangeTest { assertFalse(range.isEmpty()) - run @Suppress("DEPRECATION_ERROR") { - assertTrue(1.toByte() in range) - assertTrue(1.toShort() in range) - assertTrue(1.toInt() in range) - assertTrue(1.toLong() in range) - } assertTrue(1.toDouble() in range) assertFalse(Double.MAX_VALUE in range) diff --git a/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib-runtime-merged.txt b/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib-runtime-merged.txt index 6a8b4fc99df..0ccd542d815 100644 --- a/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib-runtime-merged.txt +++ b/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib-runtime-merged.txt @@ -4402,8 +4402,8 @@ public final class kotlin/ranges/LongRange$Companion { } public final class kotlin/ranges/RangesKt { - public static final fun byteRangeContains (Lkotlin/ranges/ClosedRange;D)Z - public static final fun byteRangeContains (Lkotlin/ranges/ClosedRange;F)Z + public static final synthetic fun byteRangeContains (Lkotlin/ranges/ClosedRange;D)Z + public static final synthetic fun byteRangeContains (Lkotlin/ranges/ClosedRange;F)Z public static final fun byteRangeContains (Lkotlin/ranges/ClosedRange;I)Z public static final fun byteRangeContains (Lkotlin/ranges/ClosedRange;J)Z public static final fun byteRangeContains (Lkotlin/ranges/ClosedRange;S)Z @@ -4432,11 +4432,11 @@ public final class kotlin/ranges/RangesKt { public static final fun coerceIn (Ljava/lang/Comparable;Lkotlin/ranges/ClosedFloatingPointRange;)Ljava/lang/Comparable; public static final fun coerceIn (Ljava/lang/Comparable;Lkotlin/ranges/ClosedRange;)Ljava/lang/Comparable; public static final fun coerceIn (SSS)S - public static final fun doubleRangeContains (Lkotlin/ranges/ClosedRange;B)Z + public static final synthetic fun doubleRangeContains (Lkotlin/ranges/ClosedRange;B)Z public static final fun doubleRangeContains (Lkotlin/ranges/ClosedRange;F)Z - public static final fun doubleRangeContains (Lkotlin/ranges/ClosedRange;I)Z - public static final fun doubleRangeContains (Lkotlin/ranges/ClosedRange;J)Z - public static final fun doubleRangeContains (Lkotlin/ranges/ClosedRange;S)Z + public static final synthetic fun doubleRangeContains (Lkotlin/ranges/ClosedRange;I)Z + public static final synthetic fun doubleRangeContains (Lkotlin/ranges/ClosedRange;J)Z + public static final synthetic fun doubleRangeContains (Lkotlin/ranges/ClosedRange;S)Z public static final fun downTo (BB)Lkotlin/ranges/IntProgression; public static final fun downTo (BI)Lkotlin/ranges/IntProgression; public static final fun downTo (BJ)Lkotlin/ranges/LongProgression; @@ -4454,19 +4454,19 @@ public final class kotlin/ranges/RangesKt { public static final fun downTo (SI)Lkotlin/ranges/IntProgression; public static final fun downTo (SJ)Lkotlin/ranges/LongProgression; public static final fun downTo (SS)Lkotlin/ranges/IntProgression; - public static final fun floatRangeContains (Lkotlin/ranges/ClosedRange;B)Z + public static final synthetic fun floatRangeContains (Lkotlin/ranges/ClosedRange;B)Z public static final fun floatRangeContains (Lkotlin/ranges/ClosedRange;D)Z - public static final fun floatRangeContains (Lkotlin/ranges/ClosedRange;I)Z - public static final fun floatRangeContains (Lkotlin/ranges/ClosedRange;J)Z - public static final fun floatRangeContains (Lkotlin/ranges/ClosedRange;S)Z + public static final synthetic fun floatRangeContains (Lkotlin/ranges/ClosedRange;I)Z + public static final synthetic fun floatRangeContains (Lkotlin/ranges/ClosedRange;J)Z + public static final synthetic fun floatRangeContains (Lkotlin/ranges/ClosedRange;S)Z public static final fun intRangeContains (Lkotlin/ranges/ClosedRange;B)Z - public static final fun intRangeContains (Lkotlin/ranges/ClosedRange;D)Z - public static final fun intRangeContains (Lkotlin/ranges/ClosedRange;F)Z + public static final synthetic fun intRangeContains (Lkotlin/ranges/ClosedRange;D)Z + public static final synthetic fun intRangeContains (Lkotlin/ranges/ClosedRange;F)Z public static final fun intRangeContains (Lkotlin/ranges/ClosedRange;J)Z public static final fun intRangeContains (Lkotlin/ranges/ClosedRange;S)Z public static final fun longRangeContains (Lkotlin/ranges/ClosedRange;B)Z - public static final fun longRangeContains (Lkotlin/ranges/ClosedRange;D)Z - public static final fun longRangeContains (Lkotlin/ranges/ClosedRange;F)Z + public static final synthetic fun longRangeContains (Lkotlin/ranges/ClosedRange;D)Z + public static final synthetic fun longRangeContains (Lkotlin/ranges/ClosedRange;F)Z public static final fun longRangeContains (Lkotlin/ranges/ClosedRange;I)Z public static final fun longRangeContains (Lkotlin/ranges/ClosedRange;S)Z public static final fun random (Lkotlin/ranges/CharRange;Lkotlin/random/Random;)C @@ -4482,8 +4482,8 @@ public final class kotlin/ranges/RangesKt { public static final fun reversed (Lkotlin/ranges/IntProgression;)Lkotlin/ranges/IntProgression; public static final fun reversed (Lkotlin/ranges/LongProgression;)Lkotlin/ranges/LongProgression; public static final fun shortRangeContains (Lkotlin/ranges/ClosedRange;B)Z - public static final fun shortRangeContains (Lkotlin/ranges/ClosedRange;D)Z - public static final fun shortRangeContains (Lkotlin/ranges/ClosedRange;F)Z + public static final synthetic fun shortRangeContains (Lkotlin/ranges/ClosedRange;D)Z + public static final synthetic fun shortRangeContains (Lkotlin/ranges/ClosedRange;F)Z public static final fun shortRangeContains (Lkotlin/ranges/ClosedRange;I)Z public static final fun shortRangeContains (Lkotlin/ranges/ClosedRange;J)Z public static final fun step (Lkotlin/ranges/CharProgression;I)Lkotlin/ranges/CharProgression; diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Ranges.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Ranges.kt index 495c5fc85e7..ca7e8afe2bd 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Ranges.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Ranges.kt @@ -160,7 +160,7 @@ object RangeOps : TemplateGroupBase() { check(rangeType.isNumeric() == itemType.isNumeric()) { "Required rangeType and itemType both to be numeric or both not, got: $rangeType, $itemType" } if (rangeType.isIntegral() != itemType.isIntegral()) { val message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed." - deprecate(Deprecation(message, warningSince = "1.3", errorSince = "1.4")) + deprecate(Deprecation(message, warningSince = "1.3", errorSince = "1.4", hiddenSince = "1.5")) } platformName("${rangeType.name.decapitalize()}RangeContains")