Skip to content

Commit db82110

Browse files
authored
bisect: don't require Sequences (#9813)
1 parent 806b134 commit db82110

1 file changed

Lines changed: 18 additions & 8 deletions

File tree

stdlib/_bisect.pyi

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
11
import sys
2-
from _typeshed import SupportsRichComparisonT
3-
from collections.abc import Callable, MutableSequence, Sequence
2+
from _typeshed import SupportsLenAndGetItem, SupportsRichComparisonT
3+
from collections.abc import Callable, MutableSequence
44
from typing import TypeVar, overload
55

66
_T = TypeVar("_T")
77

88
if sys.version_info >= (3, 10):
99
@overload
1010
def bisect_left(
11-
a: Sequence[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = 0, hi: int | None = None, *, key: None = None
11+
a: SupportsLenAndGetItem[SupportsRichComparisonT],
12+
x: SupportsRichComparisonT,
13+
lo: int = 0,
14+
hi: int | None = None,
15+
*,
16+
key: None = None,
1217
) -> int: ...
1318
@overload
1419
def bisect_left(
15-
a: Sequence[_T],
20+
a: SupportsLenAndGetItem[_T],
1621
x: SupportsRichComparisonT,
1722
lo: int = 0,
1823
hi: int | None = None,
@@ -21,11 +26,16 @@ if sys.version_info >= (3, 10):
2126
) -> int: ...
2227
@overload
2328
def bisect_right(
24-
a: Sequence[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = 0, hi: int | None = None, *, key: None = None
29+
a: SupportsLenAndGetItem[SupportsRichComparisonT],
30+
x: SupportsRichComparisonT,
31+
lo: int = 0,
32+
hi: int | None = None,
33+
*,
34+
key: None = None,
2535
) -> int: ...
2636
@overload
2737
def bisect_right(
28-
a: Sequence[_T],
38+
a: SupportsLenAndGetItem[_T],
2939
x: SupportsRichComparisonT,
3040
lo: int = 0,
3141
hi: int | None = None,
@@ -61,10 +71,10 @@ if sys.version_info >= (3, 10):
6171

6272
else:
6373
def bisect_left(
64-
a: Sequence[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = 0, hi: int | None = None
74+
a: SupportsLenAndGetItem[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = 0, hi: int | None = None
6575
) -> int: ...
6676
def bisect_right(
67-
a: Sequence[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = 0, hi: int | None = None
77+
a: SupportsLenAndGetItem[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = 0, hi: int | None = None
6878
) -> int: ...
6979
def insort_left(
7080
a: MutableSequence[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = 0, hi: int | None = None

0 commit comments

Comments
 (0)