mypy 没有检测到基本类型错误
mypy not detecting a basic type error
与python 3.5.1。以及当前使用 git 安装的 mypy,
mypy 标记错误 1 和 2,但它不报告 3
我做错了什么,或者这是一个错误,还是一个已知问题?
import typing
def test_ordered_dict(od: typing.Dict[str,int]) -> typing.Dict[str,int]:
return 1 #type error 1
a = test_ordered_dict(1) #type error 2
def test_me():
a = test_ordered_dict(1) # type error 3 is not reported
我对 docs 的理解是,mypy 只会检查一个东西(模块、函数等),如果它指示它应该检查它(通过在模块级别导入类型或通过注释功能)。
所以检查 1 是因为它在类型化的函数中,检查 2 是因为导入类型指示您的模块是类型化的并且它在模块范围内,但 3 在非类型化函数的范围内所以它被忽略。
与python 3.5.1。以及当前使用 git 安装的 mypy, mypy 标记错误 1 和 2,但它不报告 3
我做错了什么,或者这是一个错误,还是一个已知问题?
import typing
def test_ordered_dict(od: typing.Dict[str,int]) -> typing.Dict[str,int]:
return 1 #type error 1
a = test_ordered_dict(1) #type error 2
def test_me():
a = test_ordered_dict(1) # type error 3 is not reported
我对 docs 的理解是,mypy 只会检查一个东西(模块、函数等),如果它指示它应该检查它(通过在模块级别导入类型或通过注释功能)。
所以检查 1 是因为它在类型化的函数中,检查 2 是因为导入类型指示您的模块是类型化的并且它在模块范围内,但 3 在非类型化函数的范围内所以它被忽略。