Simple repro case
❯ cat tst.py
import attrs
@attrs.define
class B :
mutable_default: list[int] = []
mutable_default2: list[int] = attrs.field(default=[])
❯ uvx ruff@0.9.9 check --extend-select RUF008,B006 --preview -n --isolated tst.py
All checks passed!
Originally posted by @ashb in #14327 (comment)
Output:
tst.py:5:34: RUF008 Do not use mutable default values for dataclass attributes
|
3 | @attrs.define
4 | class B :
5 | mutable_default: list[int] = []
| ^^ RUF008
6 | mutable_default2: list[int] = attrs.field(default=[])
|
I was hoping it would catch the same error on mutable_default2