From 587c741d100b7278bc5b1e45fbaa660a00d8dc08 Mon Sep 17 00:00:00 2001 From: EXPLOSION Date: Mon, 27 Nov 2023 18:08:01 -0500 Subject: [PATCH 1/2] Some functions aren't actually exported by PyPy --- stdlib/_socket.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/_socket.pyi b/stdlib/_socket.pyi index 7a0ede62838c..d6c4e9f4b442 100644 --- a/stdlib/_socket.pyi +++ b/stdlib/_socket.pyi @@ -688,7 +688,7 @@ if sys.platform != "win32": def socketpair(__family: int = ..., __type: int = ..., __proto: int = ...) -> tuple[socket, socket]: ... # Windows added these in 3.8, but didn't have them before -if sys.platform != "win32" or sys.version_info >= (3, 8): +if sys.platform != "win32" or (sys.version_info >= (3, 8) and sys.implementation.name != "pypy"): def if_nameindex() -> list[tuple[int, str]]: ... def if_nametoindex(__name: str) -> int: ... def if_indextoname(__index: int) -> str: ... From 161ecbe4f795bd19270cf10a52af5e82822c95a4 Mon Sep 17 00:00:00 2001 From: EXPLOSION Date: Mon, 27 Nov 2023 18:18:39 -0500 Subject: [PATCH 2/2] Don't ever show these on PyPy --- stdlib/_socket.pyi | 3 ++- stdlib/socket.pyi | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/stdlib/_socket.pyi b/stdlib/_socket.pyi index d6c4e9f4b442..e01a64d25135 100644 --- a/stdlib/_socket.pyi +++ b/stdlib/_socket.pyi @@ -688,7 +688,8 @@ if sys.platform != "win32": def socketpair(__family: int = ..., __type: int = ..., __proto: int = ...) -> tuple[socket, socket]: ... # Windows added these in 3.8, but didn't have them before -if sys.platform != "win32" or (sys.version_info >= (3, 8) and sys.implementation.name != "pypy"): +# (and PyPy never has these) +if (sys.platform != "win32" or sys.version_info >= (3, 8)) and sys.implementation.name != "pypy": def if_nameindex() -> list[tuple[int, str]]: ... def if_nametoindex(__name: str) -> int: ... def if_indextoname(__index: int) -> str: ... diff --git a/stdlib/socket.pyi b/stdlib/socket.pyi index cc0cbe3709af..66330d51700b 100644 --- a/stdlib/socket.pyi +++ b/stdlib/socket.pyi @@ -252,7 +252,7 @@ if sys.platform != "win32": IPV6_USE_MIN_MTU as IPV6_USE_MIN_MTU, ) -if sys.platform != "win32" or sys.version_info >= (3, 8): +if (sys.platform != "win32" or sys.version_info >= (3, 8)) and sys.implementation.name != "pypy": from _socket import if_indextoname as if_indextoname, if_nameindex as if_nameindex, if_nametoindex as if_nametoindex if sys.platform != "darwin":