make shlex.shlex and multiprocessing.pool.IMapIterator instantiable (#2120)

Part of #1476.
This commit is contained in:
Jelle Zijlstra
2018-06-11 14:04:05 -07:00
committed by Guido van Rossum
parent c5bc3bd7fa
commit 91af6291b1
2 changed files with 10 additions and 2 deletions

View File

@@ -15,8 +15,12 @@ class AsyncResult():
def ready(self) -> bool: ...
def successful(self) -> bool: ...
_IMIT = TypeVar('_IMIT', bound=IMapIterator)
class IMapIterator(Iterable[Any]):
def __iter__(self: _IMIT) -> _IMIT: ...
def next(self, timeout: Optional[float] = ...) -> Any: ...
def __next__(self, timeout: Optional[float] = ...) -> Any: ...
class Pool(ContextManager[Pool]):
def __init__(self, processes: Optional[int] = ...,

View File

@@ -2,7 +2,7 @@
# Based on http://docs.python.org/3.2/library/shlex.html
from typing import List, Tuple, Any, TextIO, Union, Optional, Iterator
from typing import List, Tuple, Any, TextIO, Union, Optional, Iterable, TypeVar
import sys
def split(s: str, comments: bool = ...,
@@ -11,7 +11,9 @@ def split(s: str, comments: bool = ...,
# Added in 3.3, use (undocumented) pipes.quote in previous versions.
def quote(s: str) -> str: ...
class shlex(Iterator[str]):
_SLT = TypeVar('_SLT', bound=shlex)
class shlex(Iterable[str]):
commenters = ... # type: str
wordchars = ... # type: str
whitespace = ... # type: str
@@ -44,3 +46,5 @@ class shlex(Iterator[str]):
def pop_source(self) -> None: ...
def error_leader(self, infile: str = ...,
lineno: int = ...) -> None: ...
def __iter__(self: _SLT) -> _SLT: ...
def __next__(self) -> str: ...