Files
kotlin-fork/compiler/testData/codegen/box/bridges/fakeOverrideOfTraitImpl.kt
T
Alexander Udalov 04c237cc22 Generate bridges for fake overrides when needed
#KT-3985 Fixed
 #KT-4145 Fixed
2014-04-11 21:57:44 +04:00

29 lines
398 B
Kotlin

var result = ""
trait D1 {
fun foo(): D1 {
result += "D1"
return this
}
}
trait F2 : D1
trait D3 : F2 {
override fun foo(): D3 {
result += "D3"
return this
}
}
class D4 : D3
fun box(): String {
val x = D4()
x.foo()
(x : D3).foo()
(x : F2).foo()
(x : D1).foo()
return if (result == "D3D3D3D3") "OK" else "Fail: $result"
}