Files
kotlin-fork/compiler/testData/codegen/box/bridges/fakeOverrideOfTraitImpl.kt
T
Dmitriy Novozhilov 6735cc8937 [FIR] Implement new bound smartcast algorithm
#KT-36055 Fixed
2020-02-12 10:17:45 +03:00

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"
}