次のプログラムを検討します。
from decimal import Decimal
from typing import Union
def foo(bar: Union[Decimal, int]):
print(Decimal(1) + bar)
print(bar + Decimal(1))
mypy
2 番目の 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 のバグのようです。