Files
kotlin-fork/backend.native/tests/codegen/bridges/test17.kt
T
2017-05-10 15:44:22 +03:00

25 lines
377 B
Kotlin

// abstract bridge
interface A<T> {
fun foo(): T
}
abstract class B<T>: A<T>
abstract class C: B<Int>()
class D: C() {
override fun foo(): Int {
return 42
}
}
fun main(args: Array<String>) {
val d = D()
val c: C = d
val b: B<Int> = d
val a: A<Int> = d
println(d.foo())
println(c.foo())
println(b.foo())
println(a.foo())
}