// KT-4145 interface A { fun foo(): Any } open class B { fun foo(): String = "A" } open class C: B(), A fun box(): String { val a: A = C() if (a.foo() != "A") return "Fail 1" if ((a as B).foo() != "A") return "Fail 2" if ((a as C).foo() != "A") return "Fail 3" return "OK" }