bf3e896464
If 'this' (implicit or explicit) was used as an extension receiver, and the corresponding call required a smart-cast, this information was effectively lost in "old" resolution & inference, but is required by "old" JVM BE to generate proper CHECKCASTs.
12 lines
203 B
Kotlin
Vendored
12 lines
203 B
Kotlin
Vendored
open class KFoo {
|
|
fun foo(): String {
|
|
if (this is KFooQux) return qux
|
|
throw AssertionError()
|
|
}
|
|
}
|
|
|
|
class KFooQux : KFoo()
|
|
|
|
val KFooQux.qux get() = "OK"
|
|
|
|
fun box() = KFooQux().foo() |