mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-08 15:53:19 +00:00
20 lines
560 B
Kotlin
Vendored
20 lines
560 B
Kotlin
Vendored
// See KT-6206 Always generate hashCode() and equals() for data classes even if base classes have non-trivial analogs
|
|
|
|
abstract class Base {
|
|
override fun toString() = "Fail"
|
|
override fun hashCode() = -42
|
|
override fun equals(other: Any?) = false
|
|
}
|
|
|
|
data class DataClass(val field: String) : Base()
|
|
|
|
fun box(): String {
|
|
val d = DataClass("x")
|
|
|
|
if (d.toString() != "DataClass(field=x)") return "Fail toString"
|
|
if (d.hashCode() != "x".hashCode()) return "Fail hashCode"
|
|
if (d.equals(d) == false) return "Fail equals"
|
|
|
|
return "OK"
|
|
}
|