From 2ad589b595d68285262e67bc0e48f46b5c8cb5f4 Mon Sep 17 00:00:00 2001 From: Guo Ci Date: Sat, 15 Nov 2025 13:31:39 -0500 Subject: [PATCH 1/4] [stdlib] Add overloads for `sys.intern` function for LiteralString inputs --- stdlib/sys/__init__.pyi | 3 +++ 1 file changed, 3 insertions(+) diff --git a/stdlib/sys/__init__.pyi b/stdlib/sys/__init__.pyi index e24d76b1c247..f37850223508 100644 --- a/stdlib/sys/__init__.pyi +++ b/stdlib/sys/__init__.pyi @@ -422,7 +422,10 @@ if sys.platform == "win32": def getwindowsversion() -> _WinVersion: ... +@overload def intern(string: str, /) -> str: ... +@overload +def intern(string: LiteralString, /) -> LiteralString: ... __interactivehook__: Callable[[], object] From 1323507166675f80c1c5c4f3bc7c492d0f86503d Mon Sep 17 00:00:00 2001 From: Guo Ci Date: Sat, 15 Nov 2025 13:36:14 -0500 Subject: [PATCH 2/4] Fix overload definition for intern function --- stdlib/sys/__init__.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stdlib/sys/__init__.pyi b/stdlib/sys/__init__.pyi index f37850223508..9ac864cf1e92 100644 --- a/stdlib/sys/__init__.pyi +++ b/stdlib/sys/__init__.pyi @@ -422,10 +422,10 @@ if sys.platform == "win32": def getwindowsversion() -> _WinVersion: ... -@overload -def intern(string: str, /) -> str: ... @overload def intern(string: LiteralString, /) -> LiteralString: ... +@overload +def intern(string: str, /) -> str: ... __interactivehook__: Callable[[], object] From 951bacf3720726d2b761e411e1bcd4b2673447fa Mon Sep 17 00:00:00 2001 From: Guo Ci Date: Sat, 15 Nov 2025 13:43:09 -0500 Subject: [PATCH 3/4] Add type ignore comment to intern function overload --- stdlib/sys/__init__.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/sys/__init__.pyi b/stdlib/sys/__init__.pyi index 9ac864cf1e92..3933deef4077 100644 --- a/stdlib/sys/__init__.pyi +++ b/stdlib/sys/__init__.pyi @@ -425,7 +425,7 @@ if sys.platform == "win32": @overload def intern(string: LiteralString, /) -> LiteralString: ... @overload -def intern(string: str, /) -> str: ... +def intern(string: str, /) -> str: ... # type: ignore[misc] __interactivehook__: Callable[[], object] From 6abb4d46acdaeb5e308dbac8ff905033185b2b86 Mon Sep 17 00:00:00 2001 From: Guo Ci Date: Sat, 15 Nov 2025 13:47:22 -0500 Subject: [PATCH 4/4] Add `overload` import --- stdlib/sys/__init__.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/sys/__init__.pyi b/stdlib/sys/__init__.pyi index 3933deef4077..6abef85dfb7f 100644 --- a/stdlib/sys/__init__.pyi +++ b/stdlib/sys/__init__.pyi @@ -5,7 +5,7 @@ from builtins import object as _object from collections.abc import AsyncGenerator, Callable, Sequence from io import TextIOWrapper from types import FrameType, ModuleType, TracebackType -from typing import Any, Final, Literal, NoReturn, Protocol, TextIO, TypeVar, final, type_check_only +from typing import Any, Final, Literal, NoReturn, Protocol, TextIO, TypeVar, final, overload, type_check_only from typing_extensions import LiteralString, TypeAlias, deprecated _T = TypeVar("_T")