| // 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" | |
| } |