blob: 7f0c4b6fb0a0f7c6ce11cb969c61c83000bf3bf1 [file]
abstract class A {
abstract fun o(): String
}
interface B {
fun k(): String
}
fun <T> id(x: T): T = x
fun foo(a: A?): String {
if (a is B) {
return id(a).o() + a!!.k()
}
return "fail"
}
class Impl : A(), B {
override fun o(): String = "O"
override fun k(): String = "K"
}
fun box(): String {
return foo(Impl())
}