Introduce deprecation cycle for reporting errors on some illegal equality calls inside a builder inference call

^KT-43493 Fixed
This commit is contained in:
Victor Petukhov
2021-08-10 12:04:50 +03:00
committed by TeamCityServer
parent 060af85a93
commit a4a2f71fca
17 changed files with 142 additions and 25 deletions
@@ -0,0 +1,20 @@
// !LANGUAGE: -ProperEqualityChecksInBuilderInferenceCalls
// WITH_STDLIB
fun main(x: Long, y: Int) {
sequence {
<!EQUALITY_NOT_APPLICABLE_WARNING!>1L == 3<!>
<!EQUALITY_NOT_APPLICABLE_WARNING!>x == 3<!>
<!EQUALITY_NOT_APPLICABLE_WARNING!>3 == 1L<!>
<!EQUALITY_NOT_APPLICABLE_WARNING!>3 == x<!>
<!EQUALITY_NOT_APPLICABLE_WARNING!>y == x<!>
<!EQUALITY_NOT_APPLICABLE_WARNING!>1L === 3<!>
<!EQUALITY_NOT_APPLICABLE_WARNING!>x === 3<!>
<!EQUALITY_NOT_APPLICABLE_WARNING!>3 === 1L<!>
<!EQUALITY_NOT_APPLICABLE_WARNING!>3 === x<!>
<!EQUALITY_NOT_APPLICABLE_WARNING!>y === x<!>
yield("")
}
}
@@ -0,0 +1,20 @@
// !LANGUAGE: -ProperEqualityChecksInBuilderInferenceCalls
// WITH_STDLIB
fun main(x: Long, y: Int) {
sequence {
<!EQUALITY_NOT_APPLICABLE_WARNING("==; Long; Int")!>1L == 3<!>
<!EQUALITY_NOT_APPLICABLE_WARNING("==; Long; Int")!>x == 3<!>
<!EQUALITY_NOT_APPLICABLE("==; Int; Long")!>3 == 1L<!>
<!EQUALITY_NOT_APPLICABLE("==; Int; Long")!>3 == x<!>
<!EQUALITY_NOT_APPLICABLE("==; Int; Long")!>y == x<!>
<!EQUALITY_NOT_APPLICABLE("===; Long; Int")!>1L === 3<!>
<!EQUALITY_NOT_APPLICABLE("===; Long; Int")!>x === 3<!>
<!EQUALITY_NOT_APPLICABLE("===; Int; Long")!>3 === 1L<!>
<!EQUALITY_NOT_APPLICABLE("===; Int; Long")!>3 === x<!>
<!EQUALITY_NOT_APPLICABLE("===; Int; Long")!>y === x<!>
yield("")
}
}
@@ -0,0 +1,20 @@
// !LANGUAGE: +ProperEqualityChecksInBuilderInferenceCalls
// WITH_STDLIB
fun main(x: Long, y: Int) {
sequence {
<!EQUALITY_NOT_APPLICABLE_WARNING!>1L == 3<!>
<!EQUALITY_NOT_APPLICABLE_WARNING!>x == 3<!>
<!EQUALITY_NOT_APPLICABLE_WARNING!>3 == 1L<!>
<!EQUALITY_NOT_APPLICABLE_WARNING!>3 == x<!>
<!EQUALITY_NOT_APPLICABLE_WARNING!>y == x<!>
<!EQUALITY_NOT_APPLICABLE_WARNING!>1L === 3<!>
<!EQUALITY_NOT_APPLICABLE_WARNING!>x === 3<!>
<!EQUALITY_NOT_APPLICABLE_WARNING!>3 === 1L<!>
<!EQUALITY_NOT_APPLICABLE_WARNING!>3 === x<!>
<!EQUALITY_NOT_APPLICABLE_WARNING!>y === x<!>
yield("")
}
}
@@ -1,4 +1,5 @@
// WITH_RUNTIME
// !LANGUAGE: +ProperEqualityChecksInBuilderInferenceCalls
// WITH_STDLIB
fun main(x: Long, y: Int) {
sequence {
@@ -0,0 +1,3 @@
package
public fun main(/*0*/ x: kotlin.Long, /*1*/ y: kotlin.Int): kotlin.Unit
@@ -1,19 +0,0 @@
// WITH_RUNTIME
fun main(x: Long, y: Int) {
sequence {
1L == 3
x == 3
3 == 1L
3 == x
y == x
1L === 3
x === 3
3 === 1L
3 === x
y === x
yield("")
}
}