type refinement in function call · Issue #5206 · python/mypy (original) (raw)
This is ok for mypy:
from typing import Union
def foo(x: Union[int, str]):
if isinstance(x, int):
return x + 10
but how can I make it work if the isinstance
test is in a function call?
from typing import Union
def check(x: Union[int, str]) -> bool:
return isinstance(x, int)
def foo(x: Union[int, str]):
if check(x):
return x + 10
I get:
foo.py:8: error: Unsupported operand types for + ("Union[int, str]" and "int")