[NI] Restore missing smart casts after another smart cast in call
Expression type serves as a part of a key for retrieving smart cast info. Rewriting expression type with SmartCastManager leads to incorrect processing of following smartcasts for same expression, therefore it was removed. KT-32507 Fixed KT-32358 Fixed
This commit is contained in:
Vendored
-2
@@ -1,5 +1,3 @@
|
||||
// !WITH_NEW_INFERENCE
|
||||
|
||||
fun foo(d: Any?) {
|
||||
if (d is String?) {
|
||||
d!!
|
||||
|
||||
+1
-3
@@ -1,9 +1,7 @@
|
||||
// !WITH_NEW_INFERENCE
|
||||
|
||||
fun foo(d: Any?) {
|
||||
if (d is String?) {
|
||||
<!DEBUG_INFO_SMARTCAST!>d<!>!!
|
||||
doString(<!NI;TYPE_MISMATCH, OI;DEBUG_INFO_SMARTCAST!>d<!>)
|
||||
doString(<!DEBUG_INFO_SMARTCAST!>d<!>)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user