Код: Выделить всё
from typing import Type
from functools import singledispatch
class A:
pass
class B(A):
pass
@singledispatch
def foo(arg):
print('default')
@foo.register
def _(arg: Type[A]):
print(arg)
foo(A)
foo(B)
Я думаю, что Singledispatch просто не поддерживает типизацию полностью на данный момент. Есть ли какой-нибудь элегантный обходной путь?
UPD
Я не могу изменить A и B.< /п>
Подробнее здесь: https://stackoverflow.com/questions/553 ... t-argument