From: Michael Oliver Date: Wed, 16 Dec 2020 16:28:14 +0000 (+0000) Subject: Improved PEP-484 for run_sync X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=618ddc84d27b9b67f9ae78fd457f94feff1ce160;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Improved PEP-484 for run_sync --- diff --git a/lib/sqlalchemy/ext/asyncio/session.py b/lib/sqlalchemy/ext/asyncio/session.py index 4ae1fb385e..c21b679543 100644 --- a/lib/sqlalchemy/ext/asyncio/session.py +++ b/lib/sqlalchemy/ext/asyncio/session.py @@ -1,7 +1,7 @@ -from typing import Any from typing import Callable from typing import Mapping from typing import Optional +from typing import TypeVar from . import engine from . import result as _result @@ -14,6 +14,9 @@ from ...sql import Executable from ...util.concurrency import greenlet_spawn +T = TypeVar("T") + + @util.create_proxy_methods( Session, ":class:`_orm.Session`", @@ -102,7 +105,7 @@ class AsyncSession: with_for_update=with_for_update, ) - async def run_sync(self, fn: Callable, *arg, **kw) -> Any: + async def run_sync(self, fn: Callable[..., T], *arg, **kw) -> T: """Invoke the given sync callable passing sync self as the first argument.