Skip to content

RUF009 - Frozen Dataclass default should be valid #17424

Open
@CarliJoy

Description

@CarliJoy

Summary

Frozen dataclasses and attrs objects should be considered immutable.

Playground

@attrs.frozen
class A:
    foo: int = 1

@attrs.frozen
class B:
    a: A = A()  # should be valid, but gives RUF009

@dataclasses.dataclass(frozen=True)
class C:
    foo: int = 1

@dataclasses.dataclass(frozen=True)
class D:
    d: C = C()  # should be valid , but gives RUF009

Version

v0.11.5

Metadata

Metadata

Assignees

No one assigned

    Labels

    ruleImplementing or modifying a lint ruletype-inferenceRequires more advanced type inference.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions