From eac8aabc92f80d9a41d9f01163921472e309334c Mon Sep 17 00:00:00 2001 From: John Snow Date: Mon, 7 Jun 2021 16:06:37 -0400 Subject: [PATCH] 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 --- python/qemu/qmp/__init__.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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