]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
fix: fix type signature of to_thread() compat 763/head
authorDenis Laxalde <denis.laxalde@dalibo.com>
Tue, 9 Apr 2024 07:19:27 +0000 (09:19 +0200)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Tue, 9 Apr 2024 10:07:43 +0000 (12:07 +0200)
psycopg/psycopg/_compat.py

index 8d5d48aa95225b709c31f21bb31079e75ab35b91..7ffd76b8b42f18411b71cccdd02d89ec49b4e59a 100644 (file)
@@ -16,16 +16,18 @@ if sys.version_info >= (3, 9):
     from collections.abc import Callable
 else:
     import asyncio
-    from typing import Callable, Counter, Deque
+    from typing import Callable, Counter, Deque, TypeVar
     from functools import lru_cache
     from backports.zoneinfo import ZoneInfo
 
     cache = lru_cache(maxsize=None)
 
-    async def to_thread(func: Callable[..., Any], /, *args: Any, **kwargs: Any) -> None:
+    R = TypeVar("R")
+
+    async def to_thread(func: Callable[..., R], /, *args: Any, **kwargs: Any) -> R:
         loop = asyncio.get_running_loop()
         func_call = partial(func, *args, **kwargs)
-        await loop.run_in_executor(None, func_call)
+        return await loop.run_in_executor(None, func_call)
 
 
 if sys.version_info >= (3, 10):