Postpone ApproximateIntegerLiteralTypesInReceiverPosition feature till 1.7
^KT-38895
This commit is contained in:
committed by
teamcityserver
parent
6a8f36e313
commit
8117cd4c24
+15
-15
@@ -1,24 +1,24 @@
|
|||||||
val p1: Int = 1 - 1
|
val p1: Int = 1 - 1
|
||||||
val p2: Long = <!TYPE_MISMATCH!>1 - 1<!>
|
val p2: Long = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE!>1 - 1<!>
|
||||||
val p3: Byte = <!TYPE_MISMATCH!>1 - 1<!>
|
val p3: Byte = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE!>1 - 1<!>
|
||||||
val p4: Short = <!TYPE_MISMATCH!>1 - 1<!>
|
val p4: Short = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE!>1 - 1<!>
|
||||||
|
|
||||||
val l1: Long = 1 - 1.toLong()
|
val l1: Long = 1 - 1.toLong()
|
||||||
val l2: Byte = <!TYPE_MISMATCH!>1 - 1.toLong()<!>
|
val l2: Byte = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toLong()<!>
|
||||||
val l3: Int = <!TYPE_MISMATCH!>1 - 1.toLong()<!>
|
val l3: Int = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toLong()<!>
|
||||||
val l4: Short = <!TYPE_MISMATCH!>1 - 1.toLong()<!>
|
val l4: Short = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toLong()<!>
|
||||||
|
|
||||||
val b1: Byte = <!TYPE_MISMATCH!>1 - 1.toByte()<!>
|
val b1: Byte = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toByte()<!>
|
||||||
val b2: Int = 1 - 1.toByte()
|
val b2: Int = 1 - 1.toByte()
|
||||||
val b3: Long = <!TYPE_MISMATCH!>1 - 1.toByte()<!>
|
val b3: Long = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toByte()<!>
|
||||||
val b4: Short = <!TYPE_MISMATCH!>1 - 1.toByte()<!>
|
val b4: Short = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toByte()<!>
|
||||||
|
|
||||||
val i1: Byte = <!TYPE_MISMATCH!>1 - 1.toInt()<!>
|
val i1: Byte = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toInt()<!>
|
||||||
val i2: Int = 1 - 1.toInt()
|
val i2: Int = 1 - 1.toInt()
|
||||||
val i3: Long = <!TYPE_MISMATCH!>1 - 1.toInt()<!>
|
val i3: Long = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toInt()<!>
|
||||||
val i4: Short = <!TYPE_MISMATCH!>1 - 1.toInt()<!>
|
val i4: Short = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toInt()<!>
|
||||||
|
|
||||||
val s1: Byte = <!TYPE_MISMATCH!>1 - 1.toShort()<!>
|
val s1: Byte = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toShort()<!>
|
||||||
val s2: Int = 1 - 1.toShort()
|
val s2: Int = 1 - 1.toShort()
|
||||||
val s3: Long = <!TYPE_MISMATCH!>1 - 1.toShort()<!>
|
val s3: Long = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toShort()<!>
|
||||||
val s4: Short = <!TYPE_MISMATCH!>1 - 1.toShort()<!>
|
val s4: Short = <!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 - 1.toShort()<!>
|
||||||
|
|||||||
+3
-3
@@ -13,9 +13,9 @@ public val l2: kotlin.Byte = 0.toLong()
|
|||||||
public val l3: kotlin.Int = 0.toLong()
|
public val l3: kotlin.Int = 0.toLong()
|
||||||
public val l4: kotlin.Short = 0.toLong()
|
public val l4: kotlin.Short = 0.toLong()
|
||||||
public val p1: kotlin.Int = 0
|
public val p1: kotlin.Int = 0
|
||||||
public val p2: kotlin.Long = 0
|
public val p2: kotlin.Long = 0.toLong()
|
||||||
public val p3: kotlin.Byte = 0
|
public val p3: kotlin.Byte = 0.toByte()
|
||||||
public val p4: kotlin.Short = 0
|
public val p4: kotlin.Short = 0.toShort()
|
||||||
public val s1: kotlin.Byte = 0
|
public val s1: kotlin.Byte = 0
|
||||||
public val s2: kotlin.Int = 0
|
public val s2: kotlin.Int = 0
|
||||||
public val s3: kotlin.Long = 0
|
public val s3: kotlin.Long = 0
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ val a10 = <!DIVISION_BY_ZERO!>1 / 0.0f<!>
|
|||||||
val a11 = <!DIVISION_BY_ZERO!>1 / 0.0<!>
|
val a11 = <!DIVISION_BY_ZERO!>1 / 0.0<!>
|
||||||
val a12 = <!DIVISION_BY_ZERO!>1L / 0<!>
|
val a12 = <!DIVISION_BY_ZERO!>1L / 0<!>
|
||||||
|
|
||||||
val b1: Byte = <!DIVISION_BY_ZERO, TYPE_MISMATCH!>1 / 0<!>
|
val b1: Byte = <!DIVISION_BY_ZERO, INTEGER_OPERATOR_RESOLVE_WILL_CHANGE, TYPE_MISMATCH!>1 / 0<!>
|
||||||
@Ann(<!ANNOTATION_ARGUMENT_MUST_BE_CONST, DIVISION_BY_ZERO!>1 / 0<!>) val b2 = 1
|
@Ann(<!ANNOTATION_ARGUMENT_MUST_BE_CONST, DIVISION_BY_ZERO!>1 / 0<!>) val b2 = 1
|
||||||
|
|
||||||
annotation class Ann(val i : Int)
|
annotation class Ann(val i : Int)
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// FIR_IDENTICAL
|
// FIR_IDENTICAL
|
||||||
|
// LANGUAGE: +ApproximateIntegerLiteralTypesInReceiverPosition
|
||||||
val p1: Byte = <!TYPE_MISMATCH!>(1 + 2) * 2<!>
|
val p1: Byte = <!TYPE_MISMATCH!>(1 + 2) * 2<!>
|
||||||
val p2: Short = <!TYPE_MISMATCH!>(1 + 2) * 2<!>
|
val p2: Short = <!TYPE_MISMATCH!>(1 + 2) * 2<!>
|
||||||
val p3: Int = (1 + 2) * 2
|
val p3: Int = (1 + 2) * 2
|
||||||
|
|||||||
@@ -7,9 +7,9 @@ fun fooShort(p: Short) = p
|
|||||||
|
|
||||||
fun test() {
|
fun test() {
|
||||||
fooInt(1 % 1)
|
fooInt(1 % 1)
|
||||||
fooByte(<!TYPE_MISMATCH!>1 % 1<!>)
|
fooByte(<!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE!>1 % 1<!>)
|
||||||
fooLong(<!TYPE_MISMATCH!>1 % 1<!>)
|
fooLong(<!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE!>1 % 1<!>)
|
||||||
fooShort(<!TYPE_MISMATCH!>1 % 1<!>)
|
fooShort(<!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE!>1 % 1<!>)
|
||||||
}
|
}
|
||||||
|
|
||||||
public operator fun Int.<!EXTENSION_SHADOWED_BY_MEMBER!>rem<!>(other: Int): Int = 0
|
public operator fun Int.<!EXTENSION_SHADOWED_BY_MEMBER!>rem<!>(other: Int): Int = 0
|
||||||
|
|||||||
+3
-3
@@ -10,8 +10,8 @@ fun takeUBytes(vararg u: UByte) {}
|
|||||||
fun takeNullableUInt(u: UInt?) {}
|
fun takeNullableUInt(u: UInt?) {}
|
||||||
|
|
||||||
fun test() {
|
fun test() {
|
||||||
takeUInt(<!TYPE_MISMATCH!>1 + 2<!>)
|
takeUInt(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>1 + 2<!>)
|
||||||
takeUInt(<!TYPE_MISMATCH!>1.plus(2)<!>)
|
takeUInt(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>1.plus(2)<!>)
|
||||||
takeNullableUInt(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>4<!>)
|
takeNullableUInt(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>4<!>)
|
||||||
|
|
||||||
takeUInt(<!TYPE_MISMATCH!>Int.MAX_VALUE * 2L<!>)
|
takeUInt(<!TYPE_MISMATCH!>Int.MAX_VALUE * 2L<!>)
|
||||||
@@ -33,7 +33,7 @@ fun test() {
|
|||||||
takeUInt(<!INTEGER_OVERFLOW, TYPE_MISMATCH!>Int.MAX_VALUE * 2<!>)
|
takeUInt(<!INTEGER_OVERFLOW, TYPE_MISMATCH!>Int.MAX_VALUE * 2<!>)
|
||||||
takeUInt(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>4294967294<!>)
|
takeUInt(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>4294967294<!>)
|
||||||
|
|
||||||
takeUBytes(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>1<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>2<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>255<!>, <!CONSTANT_EXPECTED_TYPE_MISMATCH, SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>256<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>0<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED, TYPE_MISMATCH!>-1<!>, <!TYPE_MISMATCH!>40 + 2<!>)
|
takeUBytes(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>1<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>2<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>255<!>, <!CONSTANT_EXPECTED_TYPE_MISMATCH, SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>256<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>0<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED, TYPE_MISMATCH!>-1<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>40 + 2<!>)
|
||||||
|
|
||||||
takeUInt(<!TYPE_MISMATCH!>1.myPlus(2)<!>)
|
takeUInt(<!TYPE_MISMATCH!>1.myPlus(2)<!>)
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ fun first(arg: Int) = when (arg) {
|
|||||||
<!DUPLICATE_LABEL_IN_WHEN!>1<!> -> 6
|
<!DUPLICATE_LABEL_IN_WHEN!>1<!> -> 6
|
||||||
<!DUPLICATE_LABEL_IN_WHEN!>2<!> -> 7
|
<!DUPLICATE_LABEL_IN_WHEN!>2<!> -> 7
|
||||||
// Error should be here: see KT-11971
|
// Error should be here: see KT-11971
|
||||||
<!DUPLICATE_LABEL_IN_WHEN!>four<!> -> 8
|
four -> 8
|
||||||
else -> 0
|
else -> 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -43,7 +43,7 @@ fun test() {
|
|||||||
<!INCOMPATIBLE_TYPES!>s<!> -> 1
|
<!INCOMPATIBLE_TYPES!>s<!> -> 1
|
||||||
<!DUPLICATE_LABEL_IN_WHEN, INCOMPATIBLE_TYPES!>""<!> -> 1
|
<!DUPLICATE_LABEL_IN_WHEN, INCOMPATIBLE_TYPES!>""<!> -> 1
|
||||||
x -> 1
|
x -> 1
|
||||||
<!DUPLICATE_LABEL_IN_WHEN!>1<!> -> 1
|
1 -> 1
|
||||||
}
|
}
|
||||||
|
|
||||||
val z = 1
|
val z = 1
|
||||||
|
|||||||
@@ -201,7 +201,6 @@ enum class LanguageFeature(
|
|||||||
PrivateInFileEffectiveVisibility(KOTLIN_1_6, kind = BUG_FIX),
|
PrivateInFileEffectiveVisibility(KOTLIN_1_6, kind = BUG_FIX),
|
||||||
ForbidUsingExtensionPropertyTypeParameterInDelegate(KOTLIN_1_6, kind = BUG_FIX),
|
ForbidUsingExtensionPropertyTypeParameterInDelegate(KOTLIN_1_6, kind = BUG_FIX),
|
||||||
ProhibitSelfCallsInNestedObjects(KOTLIN_1_6, kind = BUG_FIX),
|
ProhibitSelfCallsInNestedObjects(KOTLIN_1_6, kind = BUG_FIX),
|
||||||
ApproximateIntegerLiteralTypesInReceiverPosition(KOTLIN_1_6),
|
|
||||||
ProperCheckAnnotationsTargetInTypeUsePositions(KOTLIN_1_6, kind = BUG_FIX),
|
ProperCheckAnnotationsTargetInTypeUsePositions(KOTLIN_1_6, kind = BUG_FIX),
|
||||||
AbstractClassMemberNotImplementedWithIntermediateAbstractClass(KOTLIN_1_6, kind = BUG_FIX),
|
AbstractClassMemberNotImplementedWithIntermediateAbstractClass(KOTLIN_1_6, kind = BUG_FIX),
|
||||||
|
|
||||||
@@ -230,6 +229,7 @@ enum class LanguageFeature(
|
|||||||
DefinitelyNonNullableTypes(KOTLIN_1_7),
|
DefinitelyNonNullableTypes(KOTLIN_1_7),
|
||||||
ProhibitSimplificationOfNonTrivialConstBooleanExpressions(KOTLIN_1_7),
|
ProhibitSimplificationOfNonTrivialConstBooleanExpressions(KOTLIN_1_7),
|
||||||
SafeCallsAreAlwaysNullable(KOTLIN_1_7),
|
SafeCallsAreAlwaysNullable(KOTLIN_1_7),
|
||||||
|
ApproximateIntegerLiteralTypesInReceiverPosition(KOTLIN_1_7),
|
||||||
|
|
||||||
// Temporarily disabled, see KT-27084/KT-22379
|
// Temporarily disabled, see KT-27084/KT-22379
|
||||||
SoundSmartcastFromLoopConditionForLoopAssignedVariables(sinceVersion = null, kind = BUG_FIX),
|
SoundSmartcastFromLoopConditionForLoopAssignedVariables(sinceVersion = null, kind = BUG_FIX),
|
||||||
|
|||||||
Reference in New Issue
Block a user