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