39063e59f6
KT-57105
45 lines
667 B
Kotlin
Vendored
45 lines
667 B
Kotlin
Vendored
// ISSUE: KT-57105
|
|
// DUMP_IR
|
|
|
|
// simpleCase
|
|
open class Base_1 {
|
|
val x: Any?
|
|
val y: Any?
|
|
|
|
init {
|
|
this as Derived_1
|
|
x = "O"
|
|
this.y = "O"
|
|
}
|
|
}
|
|
|
|
class Derived_1: Base_1()
|
|
|
|
// deep hierarchy
|
|
open class Base_2 {
|
|
val x: Any?
|
|
val y: Any?
|
|
|
|
init {
|
|
this as Impl_2
|
|
x = "K"
|
|
this.y = "K"
|
|
}
|
|
}
|
|
|
|
open class Derived_2: Base_2()
|
|
|
|
class Impl_2: Derived_2()
|
|
|
|
fun box(): String {
|
|
val a = Derived_1()
|
|
val b = Impl_2()
|
|
|
|
val res1 = "" + a.x + b.x
|
|
val res2 = "" + a.y + b.y
|
|
|
|
if (res1 != "OK") return "Fail implicit: $res1"
|
|
if (res2 != "OK") return "Fail explicit: $res2"
|
|
return "OK"
|
|
}
|