Improve support of custom equals in inline classes
- Ensure that typed equals parameter's type is a star projection of corresponding inline class - Make possible to declare typed equals that returns 'Nothing' - Forbid type parameters in typed equals operator declaration ^KT-54909 fixed ^KT-54910 fixed
This commit is contained in:
Vendored
+10
-1
@@ -22,7 +22,16 @@ value class IC2(val x: Int) {
|
||||
value class IC3(val x: Int) {
|
||||
override fun equals(other: Any?) = true
|
||||
|
||||
fun equals(other: IC3) = true
|
||||
operator fun equals(other: IC3) = true
|
||||
|
||||
override fun hashCode() = 0
|
||||
}
|
||||
|
||||
@JvmInline
|
||||
value class IC4<T>(val x: Int) {
|
||||
override fun <!INEFFICIENT_EQUALS_OVERRIDING_IN_INLINE_CLASS!>equals<!>(other: Any?) = true
|
||||
|
||||
fun equals(other: IC4<T>) = true
|
||||
|
||||
override fun hashCode() = 0
|
||||
}
|
||||
Reference in New Issue
Block a user