由于某些原因,此代码会出现问题:
from typing import *
T = TypeVar("T", bound="Foo")
S = TypeVar("S")
class Foo(Generic[S]):
@classmethod
def func(cls: Type[T]) -> T:
return cls()
Mypy linter将我发送到def func
行,说Unsupported type Type["T"]
。如果Foo
未定义为通用类,则不会发生这种情况。
这是一个错误吗?我在做什么错了?
我将S
用于不同的方法,我希望稍后在T
的子类中使用Type[T]
和Foo
。
答案 0 :(得分:2)
我相信这是bug in mypy。不幸的是,目前最好的解决方法是在该行中添加一个# type: ignore
批注,也许还要添加到相关问题的链接。稍后,您可以通过使用--warn-unused-ignores
标志运行mypy来检查该警告是否已解决。