diff --git a/stdlib/2/_io.pyi b/stdlib/2/_io.pyi index cc6a59712..4d97765e7 100644 --- a/stdlib/2/_io.pyi +++ b/stdlib/2/_io.pyi @@ -82,6 +82,10 @@ class BytesIO(_BufferedIOBase): def __init__(self, initial_bytes: bytes = ...) -> None: ... def __setstate__(self, tuple) -> None: ... def __getstate__(self) -> tuple: ... + # BytesIO does not contain a "name" field. This workaround is necessary + # to allow BytesIO sub-classes to add this field, as it is defined + # as a read-only property on IO[]. + name: Any def getvalue(self) -> bytes: ... def write(self, s: bytes) -> int: ... def writelines(self, lines: Iterable[bytes]) -> None: ... @@ -148,6 +152,10 @@ class StringIO(_TextIOBase): newline: Optional[unicode] = ...) -> None: ... def __setstate__(self, state: tuple) -> None: ... def __getstate__(self) -> tuple: ... + # StringIO does not contain a "name" field. This workaround is necessary + # to allow StringIO sub-classes to add this field, as it is defined + # as a read-only property on IO[]. + name: Any def getvalue(self) -> unicode: ... class TextIOWrapper(_TextIOBase): diff --git a/stdlib/3/io.pyi b/stdlib/3/io.pyi index f4d60329c..f7d0df343 100644 --- a/stdlib/3/io.pyi +++ b/stdlib/3/io.pyi @@ -98,6 +98,10 @@ class FileIO(RawIOBase): # TODO should extend from BufferedIOBase class BytesIO(BinaryIO): def __init__(self, initial_bytes: bytes = ...) -> None: ... + # BytesIO does not contain a "name" field. This workaround is necessary + # to allow BytesIO sub-classes to add this field, as it is defined + # as a read-only property on IO[]. + name: Any def getvalue(self) -> bytes: ... if sys.version_info >= (3, 2): def getbuffer(self) -> memoryview: ... @@ -251,7 +255,10 @@ class TextIOWrapper(TextIO): class StringIO(TextIOWrapper): def __init__(self, initial_value: str = ..., newline: Optional[str] = ...) -> None: ... - name = ... # type: str + # StringIO does not contain a "name" field. This workaround is necessary + # to allow StringIO sub-classes to add this field, as it is defined + # as a read-only property on IO[]. + name: Any def getvalue(self) -> str: ... def __enter__(self) -> 'StringIO': ...