blob: de57467d8b1b26bbcfb3cd37256efd42c507d242 [file]
interface A<T> {
fun foo(t: T) = "A"
}
interface B<T> {
fun foo(t: T) = "B"
}
class Z : A<Int>, B<Int> {
override fun foo(t: Int) = "Z"
}
fun box(): String {
val z = Z()
val a: A<Int> = z
val b: B<Int> = z
return when {
z.foo(0) != "Z" -> "Fail #1"
a.foo(0) != "Z" -> "Fail #2"
b.foo(0) != "Z" -> "Fail #3"
else -> "OK"
}
}