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
16 lines
320 B
Kotlin
Vendored
16 lines
320 B
Kotlin
Vendored
open class Base
|
|
class Derived: Base()
|
|
|
|
fun bar(derived: Derived) = derived
|
|
|
|
fun trans(n: Int, f: (Int) -> Boolean) = if (f(n)) n else null
|
|
|
|
fun foo() {
|
|
val base: Base = Derived()
|
|
if (base is Derived) {
|
|
fun can(n: Int) = n > 0
|
|
trans(42, ::can)
|
|
bar(<!DEBUG_INFO_SMARTCAST!>base<!>)
|
|
}
|
|
}
|