From: Martin Baláž Date: Sat, 21 Jan 2023 13:56:14 +0000 (+0100) Subject: Result.__enter__ annotation X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cf0a4fc812cf4d14011a021e26b9f9f6ab3813fc;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Result.__enter__ annotation Improved `Result.__enter__()` annotation. When using `Result` subclasses (like for example `CursorResult`) as context managers, better annotation is derived. For example: ```python with connection.execute(statement) as result: # result is `CursorResult` instead of just `Result` pass ``` --- diff --git a/lib/sqlalchemy/engine/result.py b/lib/sqlalchemy/engine/result.py index 4bf03ae696..67151913e7 100644 --- a/lib/sqlalchemy/engine/result.py +++ b/lib/sqlalchemy/engine/result.py @@ -929,7 +929,7 @@ class Result(_WithKeys, ResultInternal[Row[_TP]]): def __init__(self, cursor_metadata: ResultMetaData): self._metadata = cursor_metadata - def __enter__(self) -> Result[_TP]: + def __enter__(self: SelfResult) -> SelfResult: return self def __exit__(self, type_: Any, value: Any, traceback: Any) -> None: