Highlight useless __eq__ for attrs with default cmp parameter (PY-26354)

This commit is contained in:
Semyon Proshev
2018-05-29 16:49:59 +03:00
parent 9d5f0435c0
commit cef122333c
2 changed files with 9 additions and 1 deletions
@@ -101,7 +101,7 @@ private class PyDataclassParametersBuilder(private val type: PyDataclassParamete
private var init = DEFAULT_INIT
private var repr = DEFAULT_REPR
private var eq = DEFAULT_EQ
private var order = DEFAULT_ORDER
private var order = if (type == PyDataclassParameters.Type.ATTRS) DEFAULT_EQ else DEFAULT_ORDER
private var unsafeHash = DEFAULT_UNSAFE_HASH
private var frozen = DEFAULT_FROZEN
@@ -46,6 +46,14 @@ class B2:
def <warning descr="'__init__' is ignored if the class already defines 'init' parameter">__init__</warning>(self):
print("ok")
@attr.dataclass
class C1:
c: int = 1
def <warning descr="'__eq__' is ignored if the class already defines 'cmp' parameter">__eq__</warning>(self, other):
return "eq1"
print(repr(A()))
print(str(A()))
print(A() == A())