// JVM_TARGET: 1.8 interface Z { fun test(p: T): T { return p } } open class ZImpl : Z open class ZImpl2 : Z, ZImpl() class ZImpl3 : ZImpl2() { override fun test(p: String): String { return super.test(p) } } fun box(): String { return ZImpl3().test("OK") }