Open
Description
Simplified Example:
from typing import TypeVar _T = TypeVar('_T') def foo(a: _T = 42) -> _T: # E: Incompatible types in assignment (expression has type "int", variable has type "_T") return a
Real World example is something closer to:
_T = TypeVar('_T') def noop_parser(x: str) -> str: return x def foo(value: str, parser: Callable[[str], _T] = noop_parser) -> _T: return parser(value)