From 25c66a011ea36db656b7acf46aee2230f2961d48 Mon Sep 17 00:00:00 2001 From: Semyon Proshev Date: Mon, 20 Mar 2017 21:38:38 +0300 Subject: [PATCH] Add `zip` stubs for 5 and more arguments. (#1041) * Add `zip` stubs for 5 and more arguments. * Update `zip` stubs for 6+ arguments. --- stdlib/2/__builtin__.pyi | 11 ++++++++++- stdlib/3/builtins.pyi | 11 ++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/stdlib/2/__builtin__.pyi b/stdlib/2/__builtin__.pyi index dfb542a86..34d59361a 100644 --- a/stdlib/2/__builtin__.pyi +++ b/stdlib/2/__builtin__.pyi @@ -22,6 +22,7 @@ _T1 = TypeVar('_T1') _T2 = TypeVar('_T2') _T3 = TypeVar('_T3') _T4 = TypeVar('_T4') +_T5 = TypeVar('_T5') _TT = TypeVar('_TT', bound='type') class staticmethod: ... # Special, only valid as a decorator. @@ -801,7 +802,15 @@ def zip(iter1: Iterable[_T1], iter2: Iterable[_T2], @overload def zip(iter1: Iterable[_T1], iter2: Iterable[_T2], iter3: Iterable[_T3], iter4: Iterable[_T4]) -> List[Tuple[_T1, _T2, - _T3, _T4]]: ... # TODO more than four iterables + _T3, _T4]]: ... +@overload +def zip(iter1: Iterable[_T1], iter2: Iterable[_T2], iter3: Iterable[_T3], + iter4: Iterable[_T4], iter5: Iterable[_T5]) -> List[Tuple[_T1, _T2, + _T3, _T4, _T5]]: ... +@overload +def zip(iter1: Iterable[Any], iter2: Iterable[Any], iter3: Iterable[Any], + iter4: Iterable[Any], iter5: Iterable[Any], iter6: Iterable[Any], + *iterables: Iterable[Any]) -> List[Tuple[Any, ...]]: ... def __import__(name: unicode, globals: Dict[str, Any] = ..., locals: Dict[str, Any] = ..., diff --git a/stdlib/3/builtins.pyi b/stdlib/3/builtins.pyi index 5b16f1e97..afd0f5146 100644 --- a/stdlib/3/builtins.pyi +++ b/stdlib/3/builtins.pyi @@ -24,6 +24,7 @@ _T1 = TypeVar('_T1') _T2 = TypeVar('_T2') _T3 = TypeVar('_T3') _T4 = TypeVar('_T4') +_T5 = TypeVar('_T5') _TT = TypeVar('_TT', bound='type') class staticmethod: ... # Special, only valid as a decorator. @@ -846,7 +847,15 @@ def zip(iter1: Iterable[_T1], iter2: Iterable[_T2], @overload def zip(iter1: Iterable[_T1], iter2: Iterable[_T2], iter3: Iterable[_T3], iter4: Iterable[_T4]) -> Iterator[Tuple[_T1, _T2, - _T3, _T4]]: ... # TODO more than four iterables + _T3, _T4]]: ... +@overload +def zip(iter1: Iterable[_T1], iter2: Iterable[_T2], iter3: Iterable[_T3], + iter4: Iterable[_T4], iter5: Iterable[_T5]) -> Iterator[Tuple[_T1, _T2, + _T3, _T4, _T5]]: ... +@overload +def zip(iter1: Iterable[Any], iter2: Iterable[Any], iter3: Iterable[Any], + iter4: Iterable[Any], iter5: Iterable[Any], iter6: Iterable[Any], + *iterables: Iterable[Any]) -> Iterator[Tuple[Any, ...]]: ... def __import__(name: str, globals: Dict[str, Any] = ..., locals: Dict[str, Any] = ..., fromlist: List[str] = ..., level: int = -1) -> Any: ...