From 39f53a06aadf97d6c94339e6a2ffa54cfd140ad9 Mon Sep 17 00:00:00 2001 From: Max Muoto Date: Fri, 16 May 2025 23:06:38 -0500 Subject: [PATCH] Resolve `_asyncio` issues (#14089) --- stdlib/@tests/stubtest_allowlists/py314.txt | 2 -- stdlib/_asyncio.pyi | 4 ++++ stdlib/asyncio/futures.pyi | 6 ++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/stdlib/@tests/stubtest_allowlists/py314.txt b/stdlib/@tests/stubtest_allowlists/py314.txt index 7238a938f..4f3c0f854 100644 --- a/stdlib/@tests/stubtest_allowlists/py314.txt +++ b/stdlib/@tests/stubtest_allowlists/py314.txt @@ -3,8 +3,6 @@ # ==================================================================== _asyncio.all_tasks -_asyncio.future_add_to_awaited_by -_asyncio.future_discard_from_awaited_by _heapq.heapify_max _heapq.heappop_max _heapq.heappush_max diff --git a/stdlib/_asyncio.pyi b/stdlib/_asyncio.pyi index be486fddb..4544680cc 100644 --- a/stdlib/_asyncio.pyi +++ b/stdlib/_asyncio.pyi @@ -103,3 +103,7 @@ def _leave_task(loop: AbstractEventLoop, task: Task[Any]) -> None: ... if sys.version_info >= (3, 12): def current_task(loop: AbstractEventLoop | None = None) -> Task[Any] | None: ... + +if sys.version_info >= (3, 14): + def future_discard_from_awaited_by(future: Future[Any], waiter: Future[Any], /) -> None: ... + def future_add_to_awaited_by(future: Future[Any], waiter: Future[Any], /) -> None: ... diff --git a/stdlib/asyncio/futures.pyi b/stdlib/asyncio/futures.pyi index a63de66f0..644d2d0e9 100644 --- a/stdlib/asyncio/futures.pyi +++ b/stdlib/asyncio/futures.pyi @@ -8,6 +8,8 @@ from .events import AbstractEventLoop # Keep asyncio.__all__ updated with any changes to __all__ here if sys.version_info >= (3, 14): + from _asyncio import future_add_to_awaited_by, future_discard_from_awaited_by + __all__ = ("Future", "wrap_future", "isfuture", "future_discard_from_awaited_by", "future_add_to_awaited_by") else: __all__ = ("Future", "wrap_future", "isfuture") @@ -19,7 +21,3 @@ _T = TypeVar("_T") # That's why the import order is reversed. def isfuture(obj: object) -> TypeIs[Future[Any]]: ... def wrap_future(future: _ConcurrentFuture[_T] | Future[_T], *, loop: AbstractEventLoop | None = None) -> Future[_T]: ... - -if sys.version_info >= (3, 14): - def future_discard_from_awaited_by(future: Future[Any], waiter: Future[Any], /) -> None: ... - def future_add_to_awaited_by(future: Future[Any], waiter: Future[Any], /) -> None: ...