Я пытаюсь аннотировать декоратор, реализованный как класс, но mypy, похоже, либо теряет аннотацию, либо теряет тип и думает, что это Any. Что я пытаюсь аннотировать:
class my_decorator:
def __init__(self, func):
self.func = func
def __call__(self, *args, **kwargs):
return self.func(*args, **kwargs)
@my_decorator
def func():
return 2
Как мне аннотировать это, чтобы функция определялась как возвращающая int после украшения? Я понимаю, что приведенное выше выглядит просто, и я мог бы преобразовать my_decorator в функцию, но на самом деле он разделен на подклассы, чтобы иметь более специализированные параметры.