Ruff reimplemented-container-builtin (PIE807)

reimplemented-container-builtin в Ruff проверяет код на предупреждение PIE807. Правило относится к группе flake8-pie.

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

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

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

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

from dataclasses import dataclass, field


@dataclass
class Foo:
    bar: list[int] = field(default_factory=lambda: [])

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

from dataclasses import dataclass, field


@dataclass
class Foo:
    bar: list[int] = field(default_factory=list)
    baz: dict[str, int] = field(default_factory=dict)

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

Ruff может предложить автоисправление в некоторых случаях.