Тип Pycharm, намекающий на глупое сообщение: ожидаемый тип 'X' (соответствует generi c type 'T'), вместо него вместо 'X' - PullRequest
0 голосов
/ 08 апреля 2020

Воспроизвести:

from typing import Generic, TypeVar


class Base:
    pass


class Derived:
    pass


T = TypeVar('T', bound=Base)


class BaseWriter(Generic[T]):
    def write(self, obj: T):
        pass


class DerivedWriter(BaseWriter[Derived]):
    pass


writer = DerivedWriter()
derived = Derived()
writer.write(derived)

Последняя строка аннотируется PyCharm как ошибка типа

Ожидаемый тип 'Производный' (соответствует generi c тип 'T' ), вместо этого получил 'Derived'.

Я неправильно использую TypeVar, или это ошибка типа hinter?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...