6735cc8937
#KT-36055 Fixed
32 lines
449 B
Kotlin
Vendored
32 lines
449 B
Kotlin
Vendored
var result = ""
|
|
|
|
interface D1 {
|
|
fun foo(): D1 {
|
|
result += "D1"
|
|
return this
|
|
}
|
|
}
|
|
|
|
interface F2 : D1
|
|
|
|
interface D3 : F2 {
|
|
override fun foo(): D3 {
|
|
result += "D3"
|
|
return this
|
|
}
|
|
}
|
|
|
|
class D4 : D3
|
|
|
|
fun box(): String {
|
|
val x = D4()
|
|
x.foo()
|
|
val d3: D3 = x
|
|
val f2: F2 = x
|
|
val d1: D1 = x
|
|
d3.foo()
|
|
f2.foo()
|
|
d1.foo()
|
|
return if (result == "D3D3D3D3") "OK" else "Fail: $result"
|
|
}
|