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
15 lines
340 B
Kotlin
Vendored
15 lines
340 B
Kotlin
Vendored
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
|
fun run(f: () -> Unit) = 0
|
|
|
|
fun foo(arg: Int?) {
|
|
var x = arg
|
|
if (x == null) return
|
|
run {
|
|
// Unsafe because of owner modification
|
|
x<!UNSAFE_CALL!>.<!>hashCode()
|
|
x = null
|
|
}
|
|
if (x != null) x = 42
|
|
// Unsafe because of lambda
|
|
x<!UNSAFE_CALL!>.<!>hashCode()
|
|
} |