Mypy は署名を推測するために何もしていないようです。あれは正しいですか?例えば:
# types.py
def same_int(x: int) -> int:
return x
def f(x):
y = same_int(x)
# This would be "Unsupported operand types for + ("int" and "str")"
# y + "hi"
return y
f("hi")
f(1) + "hi"
私がこれを行うとき、苦情はありません:
mypy --check-untyped-defs types.py
f
Mypy は(if--check-untyped-defs
がオンになっている場合)の本体内の式について推論します。それを使用して署名に関する推論を行い、適用することが理にかなっているのかどうか疑問に思っています。(そうでない場合は、なぜですか。)