Ruff mutable-dataclass-default (RUF008)

mutable-dataclass-default в Ruff проверяет код на предупреждение RUF008. Правило относится к группе Ruff-specific rules.

Почему это неправильно

Эти проверки реализованы самим Ruff и закрывают практические проблемы, которые не относятся к одному внешнему плагину.

Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила mutable-dataclass-default и пример ниже.

Пример ошибки

from dataclasses import dataclass


@dataclass
class A:
    # A list without a `default_factory` or `ClassVar` annotation
    # will raise a `ValueError`.
    mutable_default: list[int] = []

Как правильно

from dataclasses import dataclass, field


@dataclass
class A:
    mutable_default: list[int] = field(default_factory=list)

Автоисправление

Ruff не предлагает автоисправление для этого правила.