mirror of
https://github.com/davidhalter/typeshed.git
synced 2026-01-25 12:26:44 +08:00
_typeshed: add SupportsLessThan, SupportsLessThanT (#4711)
And use it everywhere. Note there seemed to be a discrepancy between heapq in Python 2 and 3, so I changed that. It should probably be more widely used within heapq, but leaving that out of scope for this PR. Co-authored-by: hauntsaninja <>
This commit is contained in:
@@ -65,9 +65,6 @@ class _SupportsIndex(Protocol):
|
||||
class _SupportsTrunc(Protocol):
|
||||
def __trunc__(self) -> int: ...
|
||||
|
||||
class _SupportsLessThan(Protocol):
|
||||
def __lt__(self, __other: Any) -> bool: ...
|
||||
|
||||
_T = TypeVar("_T")
|
||||
_T_co = TypeVar("_T_co", covariant=True)
|
||||
_KT = TypeVar("_KT")
|
||||
@@ -79,7 +76,6 @@ _T3 = TypeVar("_T3")
|
||||
_T4 = TypeVar("_T4")
|
||||
_T5 = TypeVar("_T5")
|
||||
_TT = TypeVar("_TT", bound="type")
|
||||
_SupportsLessThanT = TypeVar("_SupportsLessThanT", bound=_SupportsLessThan)
|
||||
_TBE = TypeVar("_TBE", bound="BaseException")
|
||||
|
||||
class object:
|
||||
|
||||
@@ -65,9 +65,6 @@ class _SupportsIndex(Protocol):
|
||||
class _SupportsTrunc(Protocol):
|
||||
def __trunc__(self) -> int: ...
|
||||
|
||||
class _SupportsLessThan(Protocol):
|
||||
def __lt__(self, __other: Any) -> bool: ...
|
||||
|
||||
_T = TypeVar("_T")
|
||||
_T_co = TypeVar("_T_co", covariant=True)
|
||||
_KT = TypeVar("_KT")
|
||||
@@ -79,7 +76,6 @@ _T3 = TypeVar("_T3")
|
||||
_T4 = TypeVar("_T4")
|
||||
_T5 = TypeVar("_T5")
|
||||
_TT = TypeVar("_TT", bound="type")
|
||||
_SupportsLessThanT = TypeVar("_SupportsLessThanT", bound=_SupportsLessThan)
|
||||
_TBE = TypeVar("_TBE", bound="BaseException")
|
||||
|
||||
class object:
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
from _typeshed import SupportsLessThan
|
||||
from typing import Any, Callable, Iterable, List, Optional, Protocol, TypeVar
|
||||
|
||||
_T = TypeVar("_T")
|
||||
|
||||
class _Sortable(Protocol):
|
||||
def __lt__(self: _T, other: _T) -> bool: ...
|
||||
|
||||
def cmp_lt(x, y) -> bool: ...
|
||||
def heappush(heap: List[_T], item: _T) -> None: ...
|
||||
def heappop(heap: List[_T]) -> _T: ...
|
||||
@@ -12,6 +10,6 @@ def heappushpop(heap: List[_T], item: _T) -> _T: ...
|
||||
def heapify(x: List[_T]) -> None: ...
|
||||
def heapreplace(heap: List[_T], item: _T) -> _T: ...
|
||||
def merge(*iterables: Iterable[_T]) -> Iterable[_T]: ...
|
||||
def nlargest(n: int, iterable: Iterable[_T], key: Optional[Callable[[_T], _Sortable]] = ...) -> List[_T]: ...
|
||||
def nsmallest(n: int, iterable: Iterable[_T], key: Optional[Callable[[_T], _Sortable]] = ...) -> List[_T]: ...
|
||||
def nlargest(n: int, iterable: Iterable[_T], key: Optional[Callable[[_T], SupportsLessThan]] = ...) -> List[_T]: ...
|
||||
def nsmallest(n: int, iterable: Iterable[_T], key: Optional[Callable[[_T], SupportsLessThan]] = ...) -> List[_T]: ...
|
||||
def _heapify_max(__x: List[_T]) -> None: ... # undocumented
|
||||
|
||||
Reference in New Issue
Block a user