abstract class A { fun foo(x: T) {} // (1) } class B : A() { // fake-override fun foo(x: String) // (2) should use 'B' class source }