предупреждение о типе начало появляться сегодня в некоторых моих кодах после того, как я обновил версию mypy, которую использовал.Похоже, литературы по этому вопросу не слишком много, поэтому надеюсь, что кто-то здесь может мне помочь!
У меня есть метакласс, определенный следующим образом ...
class MyMetaClass(type):
def __new__(mcs,
name: str,
bases: Tuple[type, ...],
namespace: Dict[str, Any],
) -> MyMetaClass:
# Custom code... doesnt matter
# ...
# ...
return type.__new__(mcs, name, bases, namespace)
Сегодня, mypyначал выплевывать следующую ошибку ...
error: Incompatible return value type (got "type", expected "MyMetaClass")
Я пробовал следующие итерации оператора возврата, но все безуспешно ...
return super().__new__(mcs, name, bases, namespace)
return super(MyMetaClass, mcs).__new__(mcs, name, bases, namespace)
Любые предложения о том, как получитьвокруг этого предупреждения?Я закончил тем, что согласился на актерский состав ... но кажется, что должно быть что-то лучшее.
return cast(MyMetaClass, super().__new__(mcs, name, bases, namespace))