泛型类中泛型方法上的绑定 TypeVar



出于某种原因,这段代码作为一个问题:

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用于不同的方法,我希望稍后在Foo的子类中使用TType[T]

我相信这是mypy中的一个错误。不幸的是,目前最好的解决方法是只在该行中添加一个# type: ignore注释,也许还有指向相关问题的链接。稍后,您可以通过使用--warn-unused-ignores标志运行 mypy 来检查该警告是否已修复。

最新更新