Код: Выделить всё
import typing
class K1:
pass
TK = typing.TypeVar("TK", bound=K1)
class A(typing.Generic[TK]):
k: type[TK]
Код: Выделить всё
class B:
k = K1
Код: Выделить всё
class AB(B, A[K1]):
pass
ошибка: определение «k» в базовом классе «B» несовместимо с определением в базовом классе "A"
Проблема не возникнет при прямом наследовании и выполнении того же присваивания:
Код: Выделить всё
class C(A[K1]):
k = K1
Подробнее здесь: https://stackoverflow.com/questions/773 ... o-mypy-won