diff --git a/stdlib/_bisect.pyi b/stdlib/_bisect.pyi index 56b18237d..5608094cc 100644 --- a/stdlib/_bisect.pyi +++ b/stdlib/_bisect.pyi @@ -1,12 +1,14 @@ import sys -from _typeshed import SupportsRichComparison, SupportsRichComparisonT +from _typeshed import SupportsRichComparisonT from typing import Callable, MutableSequence, Sequence, TypeVar, overload _T = TypeVar("_T") if sys.version_info >= (3, 10): @overload - def bisect_left(a: Sequence[_T], x: _T, lo: int = ..., hi: int | None = ..., *, key: None = ...) -> int: ... + def bisect_left( + a: Sequence[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = ..., hi: int | None = ..., *, key: None = ... + ) -> int: ... @overload def bisect_left( a: Sequence[_T], @@ -17,7 +19,9 @@ if sys.version_info >= (3, 10): key: Callable[[_T], SupportsRichComparisonT] = ..., ) -> int: ... @overload - def bisect_right(a: Sequence[_T], x: _T, lo: int = ..., hi: int | None = ..., *, key: None = ...) -> int: ... + def bisect_right( + a: Sequence[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = ..., hi: int | None = ..., *, key: None = ... + ) -> int: ... @overload def bisect_right( a: Sequence[_T], @@ -27,25 +31,43 @@ if sys.version_info >= (3, 10): *, key: Callable[[_T], SupportsRichComparisonT] = ..., ) -> int: ... + @overload def insort_left( - a: MutableSequence[_T], - x: _T, + a: MutableSequence[SupportsRichComparisonT], + x: SupportsRichComparisonT, lo: int = ..., hi: int | None = ..., *, - key: Callable[[_T], SupportsRichComparison] | None = ..., + key: None = ..., ) -> None: ... + @overload + def insort_left( + a: MutableSequence[_T], x: _T, lo: int = ..., hi: int | None = ..., *, key: Callable[[_T], SupportsRichComparisonT] = ... + ) -> None: ... + @overload def insort_right( - a: MutableSequence[_T], - x: _T, + a: MutableSequence[SupportsRichComparisonT], + x: SupportsRichComparisonT, lo: int = ..., hi: int | None = ..., *, - key: Callable[[_T], SupportsRichComparison] | None = ..., + key: None = ..., + ) -> None: ... + @overload + def insort_right( + a: MutableSequence[_T], x: _T, lo: int = ..., hi: int | None = ..., *, key: Callable[[_T], SupportsRichComparisonT] = ... ) -> None: ... else: - def bisect_left(a: Sequence[_T], x: _T, lo: int = ..., hi: int | None = ...) -> int: ... - def bisect_right(a: Sequence[_T], x: _T, lo: int = ..., hi: int | None = ...) -> int: ... - def insort_left(a: MutableSequence[_T], x: _T, lo: int = ..., hi: int | None = ...) -> None: ... - def insort_right(a: MutableSequence[_T], x: _T, lo: int = ..., hi: int | None = ...) -> None: ... + def bisect_left( + a: Sequence[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = ..., hi: int | None = ... + ) -> int: ... + def bisect_right( + a: Sequence[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = ..., hi: int | None = ... + ) -> int: ... + def insort_left( + a: MutableSequence[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = ..., hi: int | None = ... + ) -> None: ... + def insort_right( + a: MutableSequence[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = ..., hi: int | None = ... + ) -> None: ...