[FIR] Check is for impossibility
^KT-58203 Fixed ^KT-62646
This commit is contained in:
committed by
Space Team
parent
92d8da621e
commit
88ff93df7f
+2
-2
@@ -79,7 +79,7 @@ fun branchedAndNested(x: Any?, y: Any?) {
|
||||
|
||||
|
||||
fun br(y: Any?) {
|
||||
if (myAssert(y is Int) == Unit && myAssert(y is String) == Unit) {
|
||||
if (myAssert(y is Int) == Unit && myAssert(<!USELESS_IS_CHECK!>y is String<!>) == Unit) {
|
||||
y.length
|
||||
y.inc()
|
||||
}
|
||||
@@ -90,7 +90,7 @@ fun branchedAndNestedWithNativeOperators(x: Any?, y: Any?) {
|
||||
equalsTrue(notEqualsNull(nullWhenNotString(x))) // x is String
|
||||
&&
|
||||
(
|
||||
(myAssert(y is Int) == Unit && myAssert(y is String) == Unit) // y is Int, String
|
||||
(myAssert(y is Int) == Unit && myAssert(<!USELESS_IS_CHECK!>y is String<!>) == Unit) // y is Int, String
|
||||
||
|
||||
equalsTrue(isInt(y) && isString(y)) // y is Int, String
|
||||
)
|
||||
|
||||
+2
-2
@@ -45,8 +45,8 @@ fun intersectingInfo2(x: Any?, y: Any?) {
|
||||
// of them is absent in each arg of "||"-operator, so they *shouldn't* lead to smartcast
|
||||
|
||||
if ((isString(x) && !notIsInt(x) && y is String) ||
|
||||
(!notIsString(x) && isString(y) && y is Int) ||
|
||||
(x is String && !notIsInt(y) && x is Int)) {
|
||||
(!notIsString(x) && isString(y) && <!USELESS_IS_CHECK!>y is Int<!>) ||
|
||||
(x is String && !notIsInt(y) && <!USELESS_IS_CHECK!>x is Int<!>)) {
|
||||
x.length
|
||||
x.<!UNRESOLVED_REFERENCE!>inc<!>()
|
||||
y.<!UNRESOLVED_REFERENCE!>length<!>
|
||||
|
||||
Reference in New Issue
Block a user