Open
Description
- Are you reporting a bug, or opening a feature request?
Bug - Please insert below the code you are checking with mypy,
or a mock-up repro if the source is private. We would appreciate
if you try to simplify your case to a minimal repro.
Supporting operators with union does not work with generics.
S = TypeVar('S', bound=Union[int, float])
T = TypeVar('T', bound=Union[int, float])
def some_function(a:S, b:T) -> S:
// do some operation and returns the type based on first parameter.
c = a + b
// if there is an addition involved in the computation, then we would get the below error.
// some_computed_variable would be finally computed and has the value based on first parameter type.
return some_computed_variable
-
What is the actual behavior/output?
error: Unsupported operand types for + ("S" and "T")
We can use alias (Union[int, float] as type) instead of generics (
S
) as a workaround but it loses generic support. -
What is the behavior/output you expect?
Should not report error -
What are the versions of mypy and Python you are using?
Python: 3.6 mypy: 0.650 -
What are the mypy flags you are using? (For example --strict-optional)
--ignore-missing-imports