Simplified Example:
fromtypingimportTypeVar_T=TypeVar('_T')
deffoo(a: _T=42) ->_T: # E: Incompatible types in assignment (expression has type "int", variable has type "_T")returnaReal World example is something closer to:
_T=TypeVar('_T')
defnoop_parser(x: str) ->str:
returnxdeffoo(value: str, parser: Callable[[str], _T] =noop_parser) ->_T:
returnparser(value)
Simplified Example:
Real World example is something closer to: