fromtypingimportCallable, TypeVarA=TypeVar("A")
B=TypeVar("B")
deffunc(a: A, b: B, fn: Callable[[A], A]) ->A|B:
...
inferred=func(
1,
None,
lambdavalue: reveal_type(value), # Revealed type is "builtins.int"
)
reveal_type(inferred) # "Union[builtins.int, None]"explicit: int|Noneexplicit=func(
1,
None,
lambdavalue: reveal_type(value), # Revealed type is "Union[builtins.int, None]"
)
reveal_type(explicit) # "Union[builtins.int, None]"https://mypy-play.net/?mypy=latest&python=3.10&gist=7c2af9e77a6246ee6fb3e5052722eec1
https://mypy-play.net/?mypy=latest&python=3.10&gist=7c2af9e77a6246ee6fb3e5052722eec1