4b35e3b135
Predictability estimation algorithm is completely new, but backward compatibility should present. A large set of tests. Some updated tests. Smart casts allowed for captured variables if they are not modified in closure #KT-9051 Fixed Also #KT-8643 Fixed Also #KT-7976 Fixed Correct handling of lambda arguments in functions #KT-9143 Fixed
12 lines
305 B
Kotlin
Vendored
12 lines
305 B
Kotlin
Vendored
// KT-9051: Allow smart cast for captured variables if they are not modified
|
|
|
|
fun bar(z: String?) = z
|
|
|
|
fun foo(y: String?) {
|
|
var x: String? = ""
|
|
if (x != null) {
|
|
bar(y?.let { x = null; it })<!UNSAFE_CALL!>.<!>length
|
|
x<!UNSAFE_CALL!>.<!>length // Smart cast is not possible
|
|
}
|
|
}
|