e0c8142106
'equals' from any made available for overriding in inline classes 'typed' equals made available for definition in inline classes 'typed' equals definition made compulsory if 'untyped' is overridden 'operator' keyword is allowed in 'typed' equals definition ^KT-24874: Fixed
19 lines
452 B
Kotlin
Vendored
19 lines
452 B
Kotlin
Vendored
// IGNORE_BACKEND: JVM
|
|
// WITH_STDLIB
|
|
// WORKS_WHEN_VALUE_CLASS
|
|
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
|
|
|
|
@file:Suppress("RESERVED_MEMBER_INSIDE_VALUE_CLASS")
|
|
|
|
OPTIONAL_JVM_INLINE_ANNOTATION
|
|
value class Z<T: Int>(val data: T) {
|
|
override fun equals(other: Any?): Boolean =
|
|
other is Z<*> &&
|
|
data % 256 == other.data % 256
|
|
}
|
|
|
|
fun box(): String {
|
|
if (Z(0) != Z(256)) throw AssertionError()
|
|
|
|
return "OK"
|
|
} |