Рассмотрим следующий код:
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: ошибка: аргумент 1 в "выдает следующую ошибку my_func_bool "имеет несовместимый тип" MyDict "; ожидал "Mapping [str, bool]"
Я ожидал, что и my_func_any(d)
, и my_func_bool(d)
будут в порядке, но последнее является ошибкой. Это ошибка или я что-то упустил?