@abstractmethod
def __call__(self, did: str) -> None: ...
class FilterLoopback(Worker):
def __init__(self, did_is_local: Callable[[str], None]):
self._queue = asyncio.Queue()
self._did_is_local = did_is_local
Пайчарм ругается на конструктор: Type of 'init' is incompatible with 'Worker'
1. Что ему не нравится?
2. Если можно не наследовать протокольный класс, то в каких случаях это может быть нужным?
скорее всего, надо from asyncio import Protocol вместо from typing import Protocol
Я опираюсь на идею, что пайчарм не дураки пишут, и если линтер ругается, то, вероятно, есть причины. Хотя, косяки тоже могут быть, да.
Он часто вафлит, прогони через flake или mypy тот же
Смотрю доку. Кажись, это не тот Protocol, что мне надо: class asyncio.Protocol(BaseProtocol)¶ The base class for implementing streaming protocols (TCP, Unix sockets, etc).
Обсуждают сегодня