From f655f74ed541811d3f67001599440ce3bbb42fee Mon Sep 17 00:00:00 2001 From: Alexandru Fikl Date: Tue, 6 Aug 2024 16:15:33 +0300 Subject: [PATCH] tag: only import typing_extensions when TYPE_CHECKING --- pytools/tag.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pytools/tag.py b/pytools/tag.py index 2868c4b..8954aab 100644 --- a/pytools/tag.py +++ b/pytools/tag.py @@ -40,10 +40,16 @@ from typing import ( from warnings import warn -try: - from typing import Self, dataclass_transform -except ImportError: +if TYPE_CHECKING: + # NOTE: mypy seems to be confused by the `try.. except` below when called with + # python -m mypy --python-version 3.8 ... + # see https://github.com/python/mypy/issues/14220 from typing_extensions import Self, dataclass_transform +else: + try: + from typing import Self, dataclass_transform + except ImportError: + from typing_extensions import Self, dataclass_transform from pytools import memoize, memoize_method -- GitLab