Sealed sub-class -> object: handle equals, suggest "add equals"
Before this commit, sealed sub-class without state was considered a style issue. After this commit, sealed sub-class without state AND custom equals is considered a probable bug, because comparison of its instances is very fragile. Alternative fix (generate equals & hashCode by identity) is added.
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
// PROBLEM: none
|
||||
|
||||
abstract class Base {
|
||||
open val prop: Int
|
||||
get() = 13
|
||||
|
||||
override fun equals(other: Any?): Boolean {
|
||||
if (other !is Base) return false
|
||||
return prop == other.prop
|
||||
}
|
||||
}
|
||||
|
||||
sealed class SC : Base() {
|
||||
<caret>class U : SC()
|
||||
|
||||
override val prop: Int
|
||||
get() = 42
|
||||
}
|
||||
Reference in New Issue
Block a user