Использование различных TypeVar для подкласса класса Generi c - PullRequest
0 голосов
/ 14 апреля 2020

Pycharm выдает предупреждение типа Expected type X, got X instead в последней строке. Проблема исчезнет, ​​если я использую один и тот же TypeVar как для суперкласса, так и для подкласса, но, учитывая, что эти классы будут в разных файлах, и подкласс будет использовать bound TypeVar, что невозможно.

I я что-то упустил? Или я должен сообщить об этом как об ошибке? Это с python 3.7 на Pycharm 2019.2.6.

from typing import Generic, TypeVar

U = TypeVar("U")


class A(Generic[U]):
    def __init__(self, model: U):
        pass

    def func(self, b: U) -> U:
        return b


T = TypeVar("T")


class B(A[T]):
    def __init__(self, model: T):
        super().__init__(model)


B("").func("")  #Expected type 'str' (matched generic type 'U'), got 'str' instead
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...