From: John Snow Date: Mon, 7 Jun 2021 20:06:37 +0000 (-0400) Subject: python/qmp: return generic type from context manager X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=eac8aabc92f80d9a41d9f01163921472e309334c;p=qemu.git python/qmp: return generic type from context manager __enter__ can be invoked from a subclass, so it needs a more flexible type. Signed-off-by: John Snow Message-id: 20210607200649.1840382-31-jsnow@redhat.com Signed-off-by: John Snow --- diff --git a/python/qemu/qmp/__init__.py b/python/qemu/qmp/__init__.py index ba0d2281d6..376954cb6d 100644 --- a/python/qemu/qmp/__init__.py +++ b/python/qemu/qmp/__init__.py @@ -30,6 +30,7 @@ from typing import ( TextIO, Tuple, Type, + TypeVar, Union, cast, ) @@ -220,7 +221,9 @@ class QEMUMonitorProtocol: if ret is None: raise QMPConnectError("Error while reading from socket") - def __enter__(self) -> 'QEMUMonitorProtocol': + T = TypeVar('T') + + def __enter__(self: T) -> T: # Implement context manager enter function. return self