blob: cb3cd73669264eac74c4071ab4a9c7f694e65cec [file]
// RUN_PIPELINE_TILL: FRONTEND
// ISSUE: KT-66976
// WITH_STDLIB
interface Lib {
fun <!METHOD_OF_ANY_IMPLEMENTED_IN_INTERFACE, VIRTUAL_MEMBER_HIDDEN!>hashCode<!>(): Boolean = true
fun box(): Boolean
}
interface Lib1 {
fun box(): Boolean = true
}
interface Lib2 {
fun box(): Boolean
}
interface Lib3 {
fun box(): Boolean = true
}
interface I1 {
fun <T> equals(other: A1): Boolean = true
fun <!METHOD_OF_ANY_IMPLEMENTED_IN_INTERFACE, VIRTUAL_MEMBER_HIDDEN!>hashCode<!>(): Boolean = true
fun box(): Boolean = true
}
@JvmInline
value <!RESERVED_MEMBER_FROM_INTERFACE_INSIDE_VALUE_CLASS("I1; box"), RESERVED_MEMBER_FROM_INTERFACE_INSIDE_VALUE_CLASS("I1; equals")!>class A1<!>(val i: Int) : I1
fun main1() {
val a1 = A1(1)
val a2 = A1(2)
a1.equals<Int>(a2)
}
interface I2 {
fun <T> equals(other: A2<T>): Boolean = true
fun box(): Boolean
}
interface I2_ : I2
@JvmInline
value <!ABSTRACT_MEMBER_NOT_IMPLEMENTED, RESERVED_MEMBER_FROM_INTERFACE_INSIDE_VALUE_CLASS("I2; equals")!>class A2<!><T>(val i: Int) : I2_
fun main2() {
val a1 = A2<Int>(1)
val a2 = A2<String>(2)
a1.equals(a2)
}
abstract class AC {
fun equals(arg: AC): Boolean = true
}
@JvmInline
value class A6(val i: Int) : <!VALUE_CLASS_CANNOT_EXTEND_CLASSES!>AC<!>()
/* GENERATED_FIR_TAGS: classDeclaration, functionDeclaration, integerLiteral, interfaceDeclaration, localProperty,
nullableType, override, primaryConstructor, propertyDeclaration, typeParameter, value */