11import sys
2- from _typeshed import SupportsLenAndGetItem , SupportsRichComparisonT
2+ from _typeshed import SupportsGetItem , SupportsLenAndGetItem , SupportsRichComparisonT
33from collections .abc import Callable , MutableSequence
44from typing import TypeVar , overload
55
@@ -16,6 +16,14 @@ if sys.version_info >= (3, 10):
1616 key : None = None ,
1717 ) -> int : ...
1818 @overload
19+ def bisect_left (
20+ a : SupportsGetItem [int , SupportsRichComparisonT ], x : SupportsRichComparisonT , lo : int , hi : int , * , key : None = None
21+ ) -> int : ...
22+ @overload
23+ def bisect_left (
24+ a : SupportsGetItem [int , SupportsRichComparisonT ], x : SupportsRichComparisonT , lo : int = 0 , * , hi : int , key : None = None
25+ ) -> int : ...
26+ @overload
1927 def bisect_left (
2028 a : SupportsLenAndGetItem [_T ],
2129 x : SupportsRichComparisonT ,
@@ -25,6 +33,19 @@ if sys.version_info >= (3, 10):
2533 key : Callable [[_T ], SupportsRichComparisonT ],
2634 ) -> int : ...
2735 @overload
36+ def bisect_left (
37+ a : SupportsGetItem [int , _T ], x : SupportsRichComparisonT , lo : int , hi : int , * , key : Callable [[_T ], SupportsRichComparisonT ]
38+ ) -> int : ...
39+ @overload
40+ def bisect_left (
41+ a : SupportsGetItem [int , _T ],
42+ x : SupportsRichComparisonT ,
43+ lo : int = 0 ,
44+ * ,
45+ hi : int ,
46+ key : Callable [[_T ], SupportsRichComparisonT ],
47+ ) -> int : ...
48+ @overload
2849 def bisect_right (
2950 a : SupportsLenAndGetItem [SupportsRichComparisonT ],
3051 x : SupportsRichComparisonT ,
@@ -34,6 +55,14 @@ if sys.version_info >= (3, 10):
3455 key : None = None ,
3556 ) -> int : ...
3657 @overload
58+ def bisect_right (
59+ a : SupportsGetItem [int , SupportsRichComparisonT ], x : SupportsRichComparisonT , lo : int , hi : int , * , key : None = None
60+ ) -> int : ...
61+ @overload
62+ def bisect_right (
63+ a : SupportsGetItem [int , SupportsRichComparisonT ], x : SupportsRichComparisonT , lo : int = 0 , * , hi : int , key : None = None
64+ ) -> int : ...
65+ @overload
3766 def bisect_right (
3867 a : SupportsLenAndGetItem [_T ],
3968 x : SupportsRichComparisonT ,
@@ -43,6 +72,19 @@ if sys.version_info >= (3, 10):
4372 key : Callable [[_T ], SupportsRichComparisonT ],
4473 ) -> int : ...
4574 @overload
75+ def bisect_right (
76+ a : SupportsGetItem [int , _T ], x : SupportsRichComparisonT , lo : int , hi : int , * , key : Callable [[_T ], SupportsRichComparisonT ]
77+ ) -> int : ...
78+ @overload
79+ def bisect_right (
80+ a : SupportsGetItem [int , _T ],
81+ x : SupportsRichComparisonT ,
82+ lo : int = 0 ,
83+ * ,
84+ hi : int ,
85+ key : Callable [[_T ], SupportsRichComparisonT ],
86+ ) -> int : ...
87+ @overload
4688 def insort_left (
4789 a : MutableSequence [SupportsRichComparisonT ],
4890 x : SupportsRichComparisonT ,
@@ -70,12 +112,26 @@ if sys.version_info >= (3, 10):
70112 ) -> None : ...
71113
72114else :
115+ @overload
73116 def bisect_left (
74117 a : SupportsLenAndGetItem [SupportsRichComparisonT ], x : SupportsRichComparisonT , lo : int = 0 , hi : int | None = None
75118 ) -> int : ...
119+ @overload
120+ def bisect_left (a : SupportsGetItem [int , SupportsRichComparisonT ], x : SupportsRichComparisonT , lo : int , hi : int ) -> int : ...
121+ @overload
122+ def bisect_left (
123+ a : SupportsGetItem [int , SupportsRichComparisonT ], x : SupportsRichComparisonT , lo : int = 0 , * , hi : int
124+ ) -> int : ...
125+ @overload
76126 def bisect_right (
77127 a : SupportsLenAndGetItem [SupportsRichComparisonT ], x : SupportsRichComparisonT , lo : int = 0 , hi : int | None = None
78128 ) -> int : ...
129+ @overload
130+ def bisect_right (a : SupportsGetItem [int , SupportsRichComparisonT ], x : SupportsRichComparisonT , lo : int , hi : int ) -> int : ...
131+ @overload
132+ def bisect_right (
133+ a : SupportsGetItem [int , SupportsRichComparisonT ], x : SupportsRichComparisonT , lo : int = 0 , * , hi : int
134+ ) -> int : ...
79135 def insort_left (
80136 a : MutableSequence [SupportsRichComparisonT ], x : SupportsRichComparisonT , lo : int = 0 , hi : int | None = None
81137 ) -> None : ...
0 commit comments