Closed
Description
Copied from python-attrs/attrs#473 - issue concerns both parties...
$ python -m mypy --version
mypy 0.650
>>> attr.__version__
'18.2.0'
Use mypy on following file:
import typing
import attr
@attr.s(frozen=True, auto_attribs=True, kw_only=True)
class Position:
line: int
column: int
@attr.s(frozen=True, auto_attribs=True, kw_only=True)
class Node:
start: typing.Optional[Position] = None
end: typing.Optional[Position] = None
@attr.s(frozen=True, auto_attribs=True, kw_only=True)
class Operator(Node):
symbol: str
name: str
precedence: int
associativity: str # "left" or "right"
It gives following errors:
f.py:21: error: Non-default attributes not allowed after default attributes.
f.py:22: error: Non-default attributes not allowed after default attributes.
f.py:23: error: Non-default attributes not allowed after default attributes.
f.py:24: error: Non-default attributes not allowed after default attributes.
If I understand correctly, mypy doesn't consider the existence of a new kw_only=True
.