FIR: fix infinite recursion with equality operator checker
This commit is contained in:
committed by
teamcityserver
parent
d4717569b9
commit
db55a973d4
+9
@@ -0,0 +1,9 @@
|
||||
interface Foo<out T>
|
||||
interface Bar1 : Foo<Bar1>
|
||||
interface Bar2 : Foo<Bar2>
|
||||
class Bar3 : Foo<Bar3>
|
||||
|
||||
fun test(b1: Bar1, b2: Bar2, b3: Bar3) {
|
||||
b1 == b2
|
||||
<!EQUALITY_NOT_APPLICABLE_WARNING!>b1 == b3<!>
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
interface Foo<out T>
|
||||
interface Bar1 : Foo<Bar1>
|
||||
interface Bar2 : Foo<Bar2>
|
||||
class Bar3 : Foo<Bar3>
|
||||
|
||||
fun test(b1: Bar1, b2: Bar2, b3: Bar3) {
|
||||
b1 == b2
|
||||
<!EQUALITY_NOT_APPLICABLE!>b1 == b3<!>
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package
|
||||
|
||||
public fun test(/*0*/ b1: Bar1, /*1*/ b2: Bar2, /*2*/ b3: Bar3): kotlin.Unit
|
||||
|
||||
public interface Bar1 : Foo<Bar1> {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public interface Bar2 : Foo<Bar2> {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final class Bar3 : Foo<Bar3> {
|
||||
public constructor Bar3()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public interface Foo</*0*/ out T> {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
Reference in New Issue
Block a user