Skip to content

Commit 55cf343

Browse files
authored
zip: update for PEP 618 (#6123)
Resolves #6122 Co-authored-by: hauntsaninja <>
1 parent a3e4fcc commit 55cf343

File tree

1 file changed

+73
-30
lines changed

1 file changed

+73
-30
lines changed

stdlib/builtins.pyi

Lines changed: 73 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1325,36 +1325,79 @@ else:
13251325
def vars(__object: Any = ...) -> dict[str, Any]: ...
13261326

13271327
class zip(Iterator[_T_co], Generic[_T_co]):
1328-
@overload
1329-
def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...
1330-
@overload
1331-
def __new__(cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]) -> zip[Tuple[_T1, _T2]]: ...
1332-
@overload
1333-
def __new__(cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]) -> zip[Tuple[_T1, _T2, _T3]]: ...
1334-
@overload
1335-
def __new__(
1336-
cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3], __iter4: Iterable[_T4]
1337-
) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...
1338-
@overload
1339-
def __new__(
1340-
cls,
1341-
__iter1: Iterable[_T1],
1342-
__iter2: Iterable[_T2],
1343-
__iter3: Iterable[_T3],
1344-
__iter4: Iterable[_T4],
1345-
__iter5: Iterable[_T5],
1346-
) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...
1347-
@overload
1348-
def __new__(
1349-
cls,
1350-
__iter1: Iterable[Any],
1351-
__iter2: Iterable[Any],
1352-
__iter3: Iterable[Any],
1353-
__iter4: Iterable[Any],
1354-
__iter5: Iterable[Any],
1355-
__iter6: Iterable[Any],
1356-
*iterables: Iterable[Any],
1357-
) -> zip[Tuple[Any, ...]]: ...
1328+
if sys.version_info >= (3, 10):
1329+
@overload
1330+
def __new__(cls, __iter1: Iterable[_T1], *, strict: bool = ...) -> zip[Tuple[_T1]]: ...
1331+
@overload
1332+
def __new__(cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], *, strict: bool = ...) -> zip[Tuple[_T1, _T2]]: ...
1333+
@overload
1334+
def __new__(
1335+
cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3], *, strict: bool = ...
1336+
) -> zip[Tuple[_T1, _T2, _T3]]: ...
1337+
@overload
1338+
def __new__(
1339+
cls,
1340+
__iter1: Iterable[_T1],
1341+
__iter2: Iterable[_T2],
1342+
__iter3: Iterable[_T3],
1343+
__iter4: Iterable[_T4],
1344+
*,
1345+
strict: bool = ...,
1346+
) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...
1347+
@overload
1348+
def __new__(
1349+
cls,
1350+
__iter1: Iterable[_T1],
1351+
__iter2: Iterable[_T2],
1352+
__iter3: Iterable[_T3],
1353+
__iter4: Iterable[_T4],
1354+
__iter5: Iterable[_T5],
1355+
*,
1356+
strict: bool = ...,
1357+
) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...
1358+
@overload
1359+
def __new__(
1360+
cls,
1361+
__iter1: Iterable[Any],
1362+
__iter2: Iterable[Any],
1363+
__iter3: Iterable[Any],
1364+
__iter4: Iterable[Any],
1365+
__iter5: Iterable[Any],
1366+
__iter6: Iterable[Any],
1367+
*iterables: Iterable[Any],
1368+
strict: bool = ...,
1369+
) -> zip[Tuple[Any, ...]]: ...
1370+
else:
1371+
@overload
1372+
def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...
1373+
@overload
1374+
def __new__(cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]) -> zip[Tuple[_T1, _T2]]: ...
1375+
@overload
1376+
def __new__(cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]) -> zip[Tuple[_T1, _T2, _T3]]: ...
1377+
@overload
1378+
def __new__(
1379+
cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3], __iter4: Iterable[_T4]
1380+
) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...
1381+
@overload
1382+
def __new__(
1383+
cls,
1384+
__iter1: Iterable[_T1],
1385+
__iter2: Iterable[_T2],
1386+
__iter3: Iterable[_T3],
1387+
__iter4: Iterable[_T4],
1388+
__iter5: Iterable[_T5],
1389+
) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...
1390+
@overload
1391+
def __new__(
1392+
cls,
1393+
__iter1: Iterable[Any],
1394+
__iter2: Iterable[Any],
1395+
__iter3: Iterable[Any],
1396+
__iter4: Iterable[Any],
1397+
__iter5: Iterable[Any],
1398+
__iter6: Iterable[Any],
1399+
*iterables: Iterable[Any],
1400+
) -> zip[Tuple[Any, ...]]: ...
13581401
def __iter__(self) -> Iterator[_T_co]: ...
13591402
def __next__(self) -> _T_co: ...
13601403

0 commit comments

Comments
 (0)