From 2a461a2f7931dd58df8346aca626f5bc048e8455 Mon Sep 17 00:00:00 2001 From: "Tomas R." Date: Thu, 16 Jan 2025 20:59:29 +0100 Subject: [PATCH] Use a more precise return type for `tokenize.untokenize()` (#13366) --- stdlib/tokenize.pyi | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/stdlib/tokenize.pyi b/stdlib/tokenize.pyi index 7b68f791a..2655f2f02 100644 --- a/stdlib/tokenize.pyi +++ b/stdlib/tokenize.pyi @@ -130,9 +130,8 @@ class Untokenizer: if sys.version_info >= (3, 12): def escape_brackets(self, token: str) -> str: ... -# the docstring says "returns bytes" but is incorrect -- -# if the ENCODING token is missing, it skips the encode -def untokenize(iterable: Iterable[_Token]) -> Any: ... +# Returns str, unless the ENCODING token is present, in which case it returns bytes. +def untokenize(iterable: Iterable[_Token]) -> str | Any: ... def detect_encoding(readline: Callable[[], bytes | bytearray]) -> tuple[str, Sequence[bytes]]: ... def tokenize(readline: Callable[[], bytes | bytearray]) -> Generator[TokenInfo, None, None]: ... def generate_tokens(readline: Callable[[], str]) -> Generator[TokenInfo, None, None]: ...