From f532198be45bb66b6e8135a5aebe072b2d6aa3ef Mon Sep 17 00:00:00 2001 From: Adam Dangoor Date: Sun, 27 Jul 2025 07:55:44 +0100 Subject: [PATCH 1/4] Type FileOutput.write --- stubs/docutils/docutils/io.pyi | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/stubs/docutils/docutils/io.pyi b/stubs/docutils/docutils/io.pyi index 5b04fdb71257..09982d88ef99 100644 --- a/stubs/docutils/docutils/io.pyi +++ b/stubs/docutils/docutils/io.pyi @@ -8,7 +8,7 @@ from _typeshed import ( Unused, ) from re import Pattern -from typing import IO, Any, ClassVar, Final, Generic, Literal, TypeVar +from typing import IO, Any, ClassVar, Final, Generic, Literal, TypeVar, overload from docutils import TransformSpec, nodes @@ -104,7 +104,12 @@ class FileOutput(Output): mode=None, ) -> None: ... def open(self) -> None: ... - def write(self, data): ... + @overload + def write(self, data: str) -> str: ... + + @overload + def write(self, data: bytes) -> bytes: ... + def write(self, data: str | bytes) -> str | bytes: ... def close(self) -> None: ... class BinaryFileOutput(FileOutput): ... From f437aeb2edcb4360d15e381b1a24aa1b230ca45a Mon Sep 17 00:00:00 2001 From: Adam Dangoor Date: Sun, 27 Jul 2025 07:59:32 +0100 Subject: [PATCH 2/4] I'm not sure what happens in all cases if data is str, so be extra careful --- stubs/docutils/docutils/io.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stubs/docutils/docutils/io.pyi b/stubs/docutils/docutils/io.pyi index 09982d88ef99..648262e9d52a 100644 --- a/stubs/docutils/docutils/io.pyi +++ b/stubs/docutils/docutils/io.pyi @@ -105,7 +105,7 @@ class FileOutput(Output): ) -> None: ... def open(self) -> None: ... @overload - def write(self, data: str) -> str: ... + def write(self, data: str) -> str | bytes: ... @overload def write(self, data: bytes) -> bytes: ... From c246da7ee07dd8c8a89bf315c6c01122fce622f9 Mon Sep 17 00:00:00 2001 From: Adam Dangoor Date: Sun, 27 Jul 2025 08:03:09 +0100 Subject: [PATCH 3/4] Fix syntax for overloaded function --- stubs/docutils/docutils/io.pyi | 1 - 1 file changed, 1 deletion(-) diff --git a/stubs/docutils/docutils/io.pyi b/stubs/docutils/docutils/io.pyi index 648262e9d52a..b43f04941854 100644 --- a/stubs/docutils/docutils/io.pyi +++ b/stubs/docutils/docutils/io.pyi @@ -109,7 +109,6 @@ class FileOutput(Output): @overload def write(self, data: bytes) -> bytes: ... - def write(self, data: str | bytes) -> str | bytes: ... def close(self) -> None: ... class BinaryFileOutput(FileOutput): ... From c4de94f76eee16a8e9b19a2acc7c72bf752694f2 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 27 Jul 2025 07:06:12 +0000 Subject: [PATCH 4/4] [pre-commit.ci] auto fixes from pre-commit.com hooks --- stubs/docutils/docutils/io.pyi | 1 - 1 file changed, 1 deletion(-) diff --git a/stubs/docutils/docutils/io.pyi b/stubs/docutils/docutils/io.pyi index b43f04941854..182ad5552096 100644 --- a/stubs/docutils/docutils/io.pyi +++ b/stubs/docutils/docutils/io.pyi @@ -106,7 +106,6 @@ class FileOutput(Output): def open(self) -> None: ... @overload def write(self, data: str) -> str | bytes: ... - @overload def write(self, data: bytes) -> bytes: ... def close(self) -> None: ...