Python 带绑定TypeVar的mypy工厂方法
我使用以下代码大致定义并使用了factory函数:Python 带绑定TypeVar的mypy工厂方法,python,mypy,Python,Mypy,我使用以下代码大致定义并使用了factory函数: import typing as t from pydantic import BaseModel M = t.TypeVar("M", bound=t.Union[t.Dict, BaseModel]) def foo(factory: t.Type[M]) -> M: ... return factory(**{"key": "value"}) cla
import typing as t
from pydantic import BaseModel
M = t.TypeVar("M", bound=t.Union[t.Dict, BaseModel])
def foo(factory: t.Type[M]) -> M:
...
return factory(**{"key": "value"})
class MyModel(BaseModel):
key: str
foo(MyModel)
我从以下代码接收到错误不兼容的返回值类型(得到“Union[Dict[Any,Any],BaseModel]”,预期为“M”)
使mypy接受此代码的正确方法是什么?分别指定变体:
M=t.TypeVar(“M”,t.Dict,BaseModel)