[FIR] Bring conflicting overloads errors closer to K1 behavior
#KT-55860 Fixed
This commit is contained in:
committed by
Space Team
parent
9dd778bc89
commit
56da3c2ee2
Vendored
+31
@@ -0,0 +1,31 @@
|
||||
// SKIP_TXT
|
||||
|
||||
open class A {
|
||||
fun <T> some(s: String): T = null!!
|
||||
}
|
||||
|
||||
interface I {
|
||||
fun some(text: String) = ""
|
||||
}
|
||||
|
||||
open <!CONFLICTING_INHERITED_MEMBERS!>class X1<!> : A(), I
|
||||
open <!CONFLICTING_INHERITED_MEMBERS!>class X2<!> : X1()
|
||||
|
||||
// for some reason no error in K1
|
||||
open class B {
|
||||
fun <T> some(s: String): T = null!!
|
||||
|
||||
fun some(text: String) = ""
|
||||
}
|
||||
|
||||
open class X3 : B()
|
||||
open class X4 : X3()
|
||||
|
||||
open class C {
|
||||
fun <T> some(s: String): T = null!!
|
||||
}
|
||||
|
||||
open class X5 : C() {
|
||||
<!CONFLICTING_OVERLOADS!>fun some(text: String)<!> = ""
|
||||
}
|
||||
open <!CONFLICTING_INHERITED_MEMBERS!>class X6<!> : X5()
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
// SKIP_TXT
|
||||
|
||||
open class A {
|
||||
fun <T> some(s: String): T = null!!
|
||||
}
|
||||
|
||||
interface I {
|
||||
fun some(text: String) = ""
|
||||
}
|
||||
|
||||
open <!CONFLICTING_INHERITED_MEMBERS!>class X1<!> : A(), I
|
||||
open class X2 : X1()
|
||||
|
||||
// for some reason no error in K1
|
||||
open class B {
|
||||
fun <T> some(s: String): T = null!!
|
||||
|
||||
fun some(text: String) = ""
|
||||
}
|
||||
|
||||
open class X3 : B()
|
||||
open class X4 : X3()
|
||||
|
||||
open class C {
|
||||
fun <T> some(s: String): T = null!!
|
||||
}
|
||||
|
||||
open class X5 : C() {
|
||||
<!CONFLICTING_OVERLOADS!>fun some(text: String)<!> = ""
|
||||
}
|
||||
open class X6 : X5()
|
||||
-13
@@ -1,13 +0,0 @@
|
||||
interface A {
|
||||
fun <T> foo()
|
||||
fun <T> bar()
|
||||
}
|
||||
|
||||
interface B {
|
||||
fun foo()
|
||||
fun bar()
|
||||
}
|
||||
|
||||
<!CONFLICTING_INHERITED_MEMBERS!>interface C1<!> : A, B {
|
||||
override fun bar()
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
interface A {
|
||||
fun <T> foo()
|
||||
fun <T> bar()
|
||||
|
||||
Reference in New Issue
Block a user