Ruff unused-private-protocol (PYI046)

unused-private-protocol в Ruff проверяет код на предупреждение PYI046. Правило относится к группе flake8-pyi.

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

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

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

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

import typing

class _PrivateProtocol(typing.Protocol):
    foo: int

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

import typing

class _PrivateProtocol(typing.Protocol):
    foo: int

def func(arg: _PrivateProtocol) -> None: ...

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

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