Ruff function-call-in-dataclass-default-argument (RUF009)
function-call-in-dataclass-default-argument в Ruff проверяет код на предупреждение RUF009. Правило относится к группе Ruff-specific rules.
Почему это неправильно
Эти проверки реализованы самим Ruff и закрывают практические проблемы, которые не относятся к одному внешнему плагину.
Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила function-call-in-dataclass-default-argument и пример ниже.
Пример ошибки
from dataclasses import dataclass
def simple_list() -> list[int]:
return [1, 2, 3, 4]
@dataclass
class A:
mutable_default: list[int] = simple_list()
Как правильно
from dataclasses import dataclass, field
def creating_list() -> list[int]:
return [1, 2, 3, 4]
@dataclass
class A:
mutable_default: list[int] = field(default_factory=creating_list)
Автоисправление
Ruff не предлагает автоисправление для этого правила.
