From c51d2e6199a901113f2dabeb64fc64b015751988 Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Tue, 16 May 2023 12:19:46 -0500 Subject: [PATCH] Fix subscriptable type usage in Python <3.9 (#15604) Fix the following `mypy` errors when running `mypy` with Python 3.7: ``` synapse/storage/controllers/stats.py:58: error: "Counter" is not subscriptable, use "typing.Counter" instead [misc] tests/test_state.py:267: error: "dict" is not subscriptable, use "typing.Dict" instead [misc] ``` Part of https://github.com/matrix-org/synapse/issues/15603 In Python 3.9, `typing` is deprecated and the types are subscriptable (generics) by default, https://peps.python.org/pep-0585/#implementation --- changelog.d/15604.misc | 1 + synapse/storage/controllers/stats.py | 3 +-- tests/test_state.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 changelog.d/15604.misc diff --git a/changelog.d/15604.misc b/changelog.d/15604.misc new file mode 100644 index 000000000000..92d1d600bc7f --- /dev/null +++ b/changelog.d/15604.misc @@ -0,0 +1 @@ +Fix subscriptable type usage in Python <3.9. diff --git a/synapse/storage/controllers/stats.py b/synapse/storage/controllers/stats.py index 988e44c6af4a..2a03528fee28 100644 --- a/synapse/storage/controllers/stats.py +++ b/synapse/storage/controllers/stats.py @@ -13,8 +13,7 @@ # limitations under the License. import logging -from collections import Counter -from typing import TYPE_CHECKING, Collection, List, Tuple +from typing import TYPE_CHECKING, Collection, Counter, List, Tuple from synapse.api.errors import SynapseError from synapse.storage.database import LoggingTransaction diff --git a/tests/test_state.py b/tests/test_state.py index 2029d3d60a19..ddf59916b172 100644 --- a/tests/test_state.py +++ b/tests/test_state.py @@ -264,7 +264,7 @@ def test_branch_no_conflict(self) -> Generator[defer.Deferred, Any, None]: self.dummy_store.register_events(graph.walk()) - context_store: dict[str, EventContext] = {} + context_store: Dict[str, EventContext] = {} for event in graph.walk(): context = yield defer.ensureDeferred(