]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
typing fix
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 23 Mar 2024 20:59:40 +0000 (16:59 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 23 Mar 2024 20:59:40 +0000 (16:59 -0400)
the most recent greenlet/asyncio commit introduced a typing error
that only comes up under python3.10 due to the non-presence of
asyncio.Runner in that version.  do an intricate dance here along with
another python-version-specific thing observed around the greenlet
import.

Change-Id: I1b220ab8ea633cdf43ad7e8abe826f758858b62a

lib/sqlalchemy/util/_concurrency_py3k.py
lib/sqlalchemy/util/concurrency.py

index defef1f6bf3c12facc54dc13a9e0abf96b44b39a..5717d9706173e1c9292f30b2e0642fe560412602 100644 (file)
@@ -243,11 +243,11 @@ def get_event_loop() -> asyncio.AbstractEventLoop:
     return asyncio.get_event_loop_policy().get_event_loop()
 
 
-if py311:
+if not TYPE_CHECKING and py311:
     _Runner = asyncio.Runner
 else:
 
-    class _Runner:  # type: ignore[no-redef]
+    class _Runner:
         """Runner implementation for test only"""
 
         _loop: Union[None, asyncio.AbstractEventLoop, Literal[False]]
index 96ba416cabfaebaa17376596053a5ac472bb061d..de6195de8f1d8faefafdb693f99356c62d6f50ed 100644 (file)
@@ -18,7 +18,7 @@ from typing import TypeVar
 have_greenlet = False
 greenlet_error = None
 try:
-    import greenlet  # type: ignore # noqa: F401
+    import greenlet  # type: ignore[import-untyped,unused-ignore]  # noqa: F401,E501
 except ImportError as e:
     greenlet_error = str(e)
     pass