2

次のプログラムを検討します。

from decimal import Decimal
from typing import Union

def foo(bar: Union[Decimal, int]):
    print(Decimal(1) + bar)
    print(bar + Decimal(1))

mypy2 番目の 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 のバグのようです。

4

0 に答える 0