// TARGET_BACKEND: JVM // IGNORE_BACKEND_K2: JVM_IR // FIR status: KT-65504 IrFakeOverrideBuilder: incorrect runtime behavior in case a substitution fake override clashes with another fake override open class Base { fun foo(x: T) = "x:$x" fun foo(y: String) = "y:$y" } open class Derived : Base() fun box(): String { val b = Base() val test1 = b.foo(x = "O") + b.foo(y = "K") if (test1 != "x:Oy:K") throw Exception("test1: $test1") val d = Derived() val test2 = d.foo(x = "O") + d.foo(y = "K") if (test2 != "x:Oy:K") throw Exception("test2: $test2") val bd: Base = Derived() val test4 = bd.foo(x = "O") + bd.foo(y = "K") if (test4 != "x:Oy:K") throw Exception("test4: $test4") return "OK" }