8000 Extend itertools.product to 10 arguments (#12023) · python/typeshed@2e83e65 · GitHub
[go: up one dir, main page]

Skip to content

Commit 2e83e65

Browse files
authored
Extend itertools.product to 10 arguments (#12023)
1 parent 93b5016 commit 2e83e65

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

stdlib/itertools.pyi

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ _T3 = TypeVar("_T3")
1717
_T4 = TypeVar("_T4")
1818
_T5 = TypeVar("_T5")
1919
_T6 = TypeVar("_T6")
20+
_T7 = TypeVar("_T7")
21+
_T8 = TypeVar("_T8")
22+
_T9 = TypeVar("_T9")
23+
_T10 = TypeVar("_T10")
2024

2125
_Step: TypeAlias = SupportsFloat | SupportsInt | SupportsIndex | SupportsComplex
2226

@@ -214,6 +218,60 @@ class product(Iterator[_T_co]):
214218
/,
215219
) -> product[tuple[_T1, _T2, _T3, _T4, _T5, _T6]]: ...
216220
@overload
221+
def __new__(
222+
cls,
223+
iter1: Iterable[_T1],
224+
iter2: Iterable[_T2],
225+
iter3: Iterable[_T3],
226+
iter4: Iterable[_T4],
227+
iter5: Iterable[_T5],
228+
iter6: Iterable[_T6],
229+
iter7: Iterable[_T7],
230+
/,
231+
) -> product[tuple[_T1, _T2, _T3, _T4, _T5, _T6, _T7]]: ...
232+
@overload
233+
def __new__(
234+
cls,
235+
iter1: Iterable[_T1],
236+
iter2: Iterable[_T2],
237+
iter3: Iterable[_T3],
238+
iter4: Iterable[_T4],
239+
iter5: Iterable[_T5],
240+
iter6: Iterable[_T6],
241+
iter7: Iterable[_T7],
242+
iter8: Iterable[_T8],
243+
/,
244+
) -> product[tuple[_T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8]]: ...
245+
@overload
246+
def __new__(
247+
cls,
248+
iter1: Iterable[_T1],
249+
iter2: Iterable[_T2],
250+
iter3: Iterable[_T3],
251+
iter4: Iterable[_T4],
252+
iter5: Iterable[_T5],
253+
iter6: Iterable[_T6],
254+
iter7: Iterable[_T7],
255+
iter8: Iterable[_T8],
256+
iter9: Iterable[_T9],
257+
/,
258+
) -> product[tuple[_T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9]]: ...
259+
@overload
260+
def __new__(
261+
cls,
262+
iter1: Iterable[_T1],
263+
iter2: Iterable[_T2],
264+
iter3: Iterable[_T3],
265+
iter4: Iterable[_T4],
266+
iter5: Iterable[_T5],
267+
iter6: Iterable[_T6],
268+
iter7: Iterable[_T7],
269+
iter8: Iterable[_T8],
270+
iter9: Iterable[_T9],
271+
iter10: Iterable[_T10],
272+
/,
273+
) -> product[tuple[_T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10]]: ...
274+
@overload
217275
def __new__(cls, *iterables: Iterable[_T1], repeat: int = 1) -> product[tuple[_T1, ...]]: ...
218276
def __iter__(self) -> Self: ...
219277
def __next__(self) -> _T_co: ...

0 commit comments

Comments
 (0)
0