blob: a29d720f997fb25e4f08f0caf7945ed735359b45 [file]
interface I {
fun foo() = 42
}
open class B : I {
override fun foo() = 117
}
class C : I
class D : I
class E : B()
class F : B()
class G : B()
fun foo(i: I) = i.foo()
fun box(): String {
if (foo(E()) != 117) return "fail 1"
if (foo(F()) != 117) return "fail 2"
if (foo(G()) != 117) return "fail 3"
if (foo(C()) != 42) return "fail 4"
if (foo(D()) != 42) return "fail 5"
return "OK"
}