@@ -2,7 +2,7 @@ from typing import Any, AsyncIterator, Awaitable, Callable, overload
22from typing_extensions import TypeGuard
33import builtins
44
5- from ._typing import ADD , AnyIterable , HK , LT , R , T , T1 , T2 , T3 , T4 , T5
5+ from ._typing import ADD , AnyIterable , HK , LT , R , T , T1 , T2 , T3 , T4 , T5 , SupportsLT
66
77@overload
88async def anext (iterator : AsyncIterator [T ]) -> T : ...
@@ -16,6 +16,10 @@ def iter(
1616) -> AsyncIterator [T ]: ...
1717@overload
1818def iter (subject : Callable [[], Awaitable [T ]], sentinel : T ) -> AsyncIterator [T ]: ...
19+ @overload
20+ def iter (subject : Callable [[], T | None ], sentinel : None ) -> AsyncIterator [T ]: ...
21+ @overload
22+ def iter (subject : Callable [[], T ], sentinel : T ) -> AsyncIterator [T ]: ...
1923async def all (iterable : AnyIterable [Any ]) -> bool : ...
2024async def any (iterable : AnyIterable [Any ]) -> bool : ...
2125@overload
@@ -180,20 +184,42 @@ async def max(iterable: AnyIterable[LT], *, key: None = ...) -> LT: ...
180184@overload
181185async def max (iterable : AnyIterable [LT ], * , key : None = ..., default : T ) -> LT | T : ...
182186@overload
183- async def max (iterable : AnyIterable [T1 ], * , key : Callable [[T1 ], LT ] = ...) -> T1 : ...
187+ async def max (
188+ iterable : AnyIterable [T1 ], * , key : Callable [[T1 ], Awaitable [SupportsLT ]]
189+ ) -> T1 : ...
190+ @overload
191+ async def max (
192+ iterable : AnyIterable [T1 ],
193+ * ,
194+ key : Callable [[T1 ], Awaitable [SupportsLT ]],
195+ default : T2 ,
196+ ) -> T1 | T2 : ...
197+ @overload
198+ async def max (iterable : AnyIterable [T1 ], * , key : Callable [[T1 ], SupportsLT ]) -> T1 : ...
184199@overload
185200async def max (
186- iterable : AnyIterable [T1 ], * , key : Callable [[T1 ], LT ] = ... , default : T2
201+ iterable : AnyIterable [T1 ], * , key : Callable [[T1 ], SupportsLT ] , default : T2
187202) -> T1 | T2 : ...
188203@overload
189204async def min (iterable : AnyIterable [LT ], * , key : None = ...) -> LT : ...
190205@overload
191206async def min (iterable : AnyIterable [LT ], * , key : None = ..., default : T ) -> LT | T : ...
192207@overload
193- async def min (iterable : AnyIterable [T1 ], * , key : Callable [[T1 ], LT ] = ...) -> T1 : ...
208+ async def min (
209+ iterable : AnyIterable [T1 ], * , key : Callable [[T1 ], Awaitable [SupportsLT ]]
210+ ) -> T1 : ...
194211@overload
195212async def min (
196- iterable : AnyIterable [T1 ], * , key : Callable [[T1 ], LT ] = ..., default : T2
213+ iterable : AnyIterable [T1 ],
214+ * ,
215+ key : Callable [[T1 ], Awaitable [SupportsLT ]],
216+ default : T2 ,
217+ ) -> T1 | T2 : ...
218+ @overload
219+ async def min (iterable : AnyIterable [T1 ], * , key : Callable [[T1 ], SupportsLT ]) -> T1 : ...
220+ @overload
221+ async def min (
222+ iterable : AnyIterable [T1 ], * , key : Callable [[T1 ], SupportsLT ], default : T2
197223) -> T1 | T2 : ...
198224@overload
199225def filter (
@@ -247,5 +273,12 @@ async def sorted(
247273) -> builtins .list [LT ]: ...
248274@overload
249275async def sorted (
250- iterable : AnyIterable [T ], * , key : Callable [[T ], LT ], reverse : bool = ...
276+ iterable : AnyIterable [T ],
277+ * ,
278+ key : Callable [[T ], Awaitable [SupportsLT ]],
279+ reverse : bool = ...,
280+ ) -> builtins .list [T ]: ...
281+ @overload
282+ async def sorted (
283+ iterable : AnyIterable [T ], * , key : Callable [[T ], SupportsLT ], reverse : bool = ...
251284) -> builtins .list [T ]: ...
0 commit comments