|
1 | 1 | from collections.abc import Callable, Iterable
|
2 |
| -from typing import Protocol, Any, TypeVar, overload |
| 2 | +from typing import Protocol, Any, TypeVar, overload, Union |
3 | 3 |
|
4 | 4 | MISSING = object()
|
5 | 5 | EMPTY_MSG = 'max() arg is an empty sequence'
|
6 | 6 |
|
7 |
| -class _SupportsLessThan(Protocol): |
| 7 | +class SupportsLessThan(Protocol): |
8 | 8 | def __lt__(self, other: Any) -> bool: ...
|
9 | 9 |
|
10 |
| -_T = TypeVar('_T') |
11 |
| -_LT = TypeVar('_LT', bound=_SupportsLessThan) |
12 |
| -_DT = TypeVar('_DT') |
| 10 | +T = TypeVar('T') |
| 11 | +LT = TypeVar('LT', bound=SupportsLessThan) |
| 12 | +DT = TypeVar('DT') |
13 | 13 |
|
14 | 14 | @overload
|
15 |
| -def max(__arg1: _LT, __arg2: _LT, *_args: _LT, key: None = ...) -> _LT: |
| 15 | +def max(arg1: LT, arg2: LT, *_args: LT, key: None = ...) -> LT: |
16 | 16 | ...
|
17 | 17 | @overload
|
18 |
| -def max(__arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], _LT]) -> _T: |
| 18 | +def max(arg1: T, arg2: T, *_args: T, key: Callable[[T], LT]) -> T: |
19 | 19 | ...
|
20 | 20 | @overload
|
21 |
| -def max(__iterable: Iterable[_LT], *, key: None = ...) -> _LT: |
| 21 | +def max(iterable: Iterable[LT], *, key: None = ...) -> LT: |
22 | 22 | ...
|
23 | 23 | @overload
|
24 |
| -def max(__iterable: Iterable[_T], *, key: Callable[[_T], _LT]) -> _T: |
| 24 | +def max(iterable: Iterable[T], *, key: Callable[[T], LT]) -> T: |
25 | 25 | ...
|
26 | 26 | @overload
|
27 |
| -def max(__iterable: Iterable[_LT], *, key: None = ..., default: _DT) -> _LT | _DT: |
| 27 | +def max(iterable: Iterable[LT], *, key: None = ..., default: DT) -> Union[LT, DT]: |
28 | 28 | ...
|
29 | 29 | @overload
|
30 |
| -def max(__iterable: Iterable[_T], *, key: Callable[[_T], _LT], default: _DT) -> _T, _DT: |
| 30 | +def max(iterable: Iterable[T], *, key: Callable[[T], LT], default: DT) -> Union[T, DT]: |
31 | 31 | ...
|
32 | 32 | def max(first, *args, key=None, default=MISSING):
|
33 | 33 | if args:
|
@@ -55,22 +55,22 @@ def max(first, *args, key=None, default=MISSING):
|
55 | 55 | return candidate
|
56 | 56 |
|
57 | 57 | @overload
|
58 |
| -def min(__arg1: _LT, __arg2: _LT, *_args: _LT, key: None = ...) -> _LT: |
| 58 | +def min(arg1: LT, arg2: LT, *_args: LT, key: None = ...) -> LT: |
59 | 59 | ...
|
60 | 60 | @overload
|
61 |
| -def min(__arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], _LT]) -> _T: |
| 61 | +def min(arg1: T, arg2: T, *_args: T, key: Callable[[T], LT]) -> T: |
62 | 62 | ...
|
63 | 63 | @overload
|
64 |
| -def min(__iterable: Iterable[_LT], *, key: None = ...) -> _LT: |
| 64 | +def min(iterable: Iterable[LT], *, key: None = ...) -> LT: |
65 | 65 | ...
|
66 | 66 | @overload
|
67 |
| -def min(__iterable: Iterable[_T], *, key: Callable[[_T], _LT]) -> _T: |
| 67 | +def min(iterable: Iterable[T], *, key: Callable[[T], LT]) -> T: |
68 | 68 | ...
|
69 | 69 | @overload
|
70 |
| -def min(__iterable: Iterable[_LT], *, key: None = ..., default: _DT) -> Union[_LT, _DT]: |
| 70 | +def min(iterable: Iterable[LT], *, key: None = ..., default: DT) -> Union[LT, DT]: |
71 | 71 | ...
|
72 | 72 | @overload
|
73 |
| -def min(__iterable: Iterable[_T], *, key: Callable[[_T], _LT], default: _DT) -> Union[_T, _DT]: |
| 73 | +def min(iterable: Iterable[T], *, key: Callable[[T], LT], default: DT) -> Union[T, DT]: |
74 | 74 | ...
|
75 | 75 | def min(first, *args, key=None, default=MISSING):
|
76 | 76 | if args:
|
|
0 commit comments