// IGNORE_BACKEND_FIR: ANY // ^ TODO decide if we want to fix KT-42020 for FIR as well open class Base { fun foo(x: T) {} fun foo(y: String) {} val T.bar get() = 1 val String.bar get() = 2 } open class Derived : Base() class Derived2 : Derived() fun test(b: Base, d: Derived, d2: Derived2) { b.foo(x = "") b.foo(y = "") d.foo(x = "") d.foo(y = "") d2.foo(x = "") d2.foo(y = "") } open class BaseXY { fun foo(x: X, y: String) {} fun foo(x: String, y: Y) {} } class DerivedXY : BaseXY() fun outerFun() { open class LocalBase { fun foo(x: T) {} fun foo(y: String) {} val T.bar get() = 1 val String.bar get() = 2 } open class LocalDerived : LocalBase() class LocalDerived2 : LocalDerived() fun test(b: LocalBase, d: LocalDerived, d2: LocalDerived2) { b.foo(x = "") b.foo(y = "") d.foo(x = "") d.foo(y = "") d2.foo(x = "") d2.foo(y = "") } } open class Outer { open inner class Inner { fun foo(x: T) {} fun foo(y: String) {} } } class OuterDerived : Outer() { inner class InnerDerived : Inner() }