【发布时间】:2020-02-19 15:47:11
【问题描述】:
考虑以下代码:
from typing import Any, Mapping, TypedDict
class MyDict(TypedDict):
foo: bool
def my_func_any(a: Mapping[str, Any]) -> None:
print(a)
def my_func_bool(a: Mapping[str, bool]) -> None:
print(a)
d: MyDict = {
'foo': True
}
my_func_any(d)
my_func_bool(d) # line 21
使用mypy==0.761 检查时会出现以下错误:
test.py:21:错误:“my_func_bool”的参数 1 具有不兼容的类型“MyDict”;预期“映射[str,bool]”
我预计my_func_any(d) 和my_func_bool(d) 都可以,但后者是一个错误。这是一个错误还是我错过了什么?
【问题讨论】:
标签: python python-3.x mypy