mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-07 04:08:10 +00:00
![]() ## Summary Add basic support for `dataclasses.field`: * remove fields with `init=False` from the signature of the synthesized `__init__` method * infer correct default value types from `default` or `default_factory` arguments ```py from dataclasses import dataclass, field def default_roles() -> list[str]: return ["user"] @dataclass class Member: name: str roles: list[str] = field(default_factory=default_roles) tag: str | None = field(default=None, init=False) # revealed: (self: Member, name: str, roles: list[str] = list[str]) -> None reveal_type(Member.__init__) ``` Support for `kw_only` has **not** been added. part of https://github.com/astral-sh/ty/issues/111 ## Test Plan New Markdown tests |
||
---|---|---|
.. | ||
dataclass_transform.md | ||
dataclasses.md | ||
fields.md |