Re:Python types have an expectations problem
by olejorgenb on Monday January 29, 2024 @12:27PM
(#39179144)
Or a bound typevar:
T = TypeVar("T", bound=int | list[int])
def(x: T) -> T:
Re:Python types have an expectations problem
by nerdponx on Monday January 29, 2024 @05:41PM
(#39183791)
And for an example of the practical limits of @overload, take a look at the Pandas type hints: https://github.com/pandas-dev/pandas/blob/dc5586baa9e4731805...
Meanwhile it's not even possible to express such things in other static type systems. So I'm not exactly an unhappy customer, but it does put certain things tantalizingly close, but still out of reach without a ton of clunky boilerplate and LoC explosion.
Using you example:
[0] https://docs.python.org/3/library/typing.html#overload