Ruff complex-assignment-in-stub (PYI017)

complex-assignment-in-stub в Ruff проверяет код на предупреждение PYI017. Правило относится к группе flake8-pyi.

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

Файлы заглушек должны точно и компактно описывать интерфейс, иначе типизаторы будут давать неверные подсказки.

Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила complex-assignment-in-stub и пример ниже.

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

from typing import TypeAlias

a = b = int

class Klass: ...

Klass.X: TypeAlias = int

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

from typing import TypeAlias

a: TypeAlias = int
b: TypeAlias = int

class Klass:
    X: TypeAlias = int

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

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