考虑以下程序:
from decimal import Decimal
from typing import Union
def foo(bar: Union[Decimal, int]):
print(Decimal(1) + bar)
print(bar + Decimal(1))
为什么mypy
在第二个 print() 中抱怨?
$ mypy foo.py
foo.py: note: In function "foo":
foo.py:6: error: Unsupported operand types for + ("Union[Decimal, int]" and "Decimal")
我在 Python 3.5.1、Ubuntu 16.04 上使用 mypy 0.3.1。
编辑:这似乎是mypy 中的一个错误。