diff --git a/stdlib/2/_io.pyi b/stdlib/2/_io.pyi index 3f1baab15792..e2b66d25acba 100644 --- a/stdlib/2/_io.pyi +++ b/stdlib/2/_io.pyi @@ -79,6 +79,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: ... @@ -145,6 +149,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 ea2752dd73f4..88efad2885da 100644 --- a/stdlib/3/io.pyi +++ b/stdlib/3/io.pyi @@ -95,6 +95,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: ... @@ -248,7 +252,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': ...