mypy 1.4.0 signals an error:
qemu/qmp/qmp_tui.py:350: error: Non-overlapping equality check (left operand type: "Literal[Runstate.DISCONNECTING]", right operand type: "Literal[Runstate.IDLE]") [comparison-overlap]
This is because it does not realiez that self.disconnect() could change
the value of self.runstate.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
python/qemu/qmp/qmp_tui.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/python/qemu/qmp/qmp_tui.py b/python/qemu/qmp/qmp_tui.py
index 83691447231..1b68a71397f 100644
--- a/python/qemu/qmp/qmp_tui.py
+++ b/python/qemu/qmp/qmp_tui.py
@@ -346,7 +346,8 @@ async def manage_connection(self) -> None:
self._set_status('[Disconnected]')
await self.disconnect()
# check if a retry is needed
- if self.runstate == Runstate.IDLE:
+ # mypy bug - doesn't realize self.runstate could change
+ if self.runstate == Runstate.IDLE: # type: ignore
continue
await self.runstate_changed()
--
2.41.0