mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-09 08:31:29 +00:00
26 lines
767 B
Kotlin
Vendored
26 lines
767 B
Kotlin
Vendored
// KT-11306 ABSTRACT_MEMBER_NOT_IMPLEMENTED for data class should inheriting interfaces requiring equals(), hashCode(), or toString()
|
|
|
|
interface Foo {
|
|
override fun equals(other: Any?): Boolean
|
|
override fun hashCode(): Int
|
|
override fun toString(): String
|
|
}
|
|
|
|
data class FooImpl(val num: Int) : Foo
|
|
|
|
data class FooImplSome(val num: Int) : Foo {
|
|
override fun hashCode() = 42
|
|
}
|
|
|
|
data class FooImplAll(val num: Int) : Foo {
|
|
override fun equals(other: Any?) = false
|
|
override fun hashCode() = 42
|
|
override fun toString() = "OK"
|
|
}
|
|
|
|
|
|
data class WrongSignatures(val num: Int) : Foo {
|
|
<!NOTHING_TO_OVERRIDE!>override<!> fun equals(other: WrongSignatures) = false
|
|
override fun hashCode(): <!RETURN_TYPE_MISMATCH_ON_OVERRIDE!>Boolean<!> = true
|
|
}
|