From 3e3ea70df4a753e9f774f222d3722d2c9bfdbca7 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 19 Jul 2022 13:03:51 -0400 Subject: fixes for mypy 0.971 things that were passing with 0.961 need adjustment. it seems mypy has become very pedantic about the difference between importing from a module vs. accessing members of that module as instance variables, so adjust the preloaded typing block to be explicitly instance variables, since that's how the accessor works in any case. Change-Id: I746a3c9102530b7cf9b123aec7be6376657c1169 --- lib/sqlalchemy/sql/__init__.py | 16 +++++++++------- lib/sqlalchemy/sql/cache_key.py | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) (limited to 'lib/sqlalchemy/sql') diff --git a/lib/sqlalchemy/sql/__init__.py b/lib/sqlalchemy/sql/__init__.py index c3ebb4596..5702d6c25 100644 --- a/lib/sqlalchemy/sql/__init__.py +++ b/lib/sqlalchemy/sql/__init__.py @@ -5,6 +5,7 @@ # This module is part of SQLAlchemy and is released under # the MIT License: https://www.opensource.org/licenses/mit-license.php from typing import Any +from typing import TYPE_CHECKING from .base import Executable as Executable from .compiler import COLLECT_CARTESIAN_PRODUCTS as COLLECT_CARTESIAN_PRODUCTS @@ -114,13 +115,14 @@ def __go(lcls: Any) -> None: from . import traversals from . import type_api - base.coercions = elements.coercions = coercions - base.elements = elements - base.type_api = type_api - coercions.elements = elements - coercions.lambdas = lambdas - coercions.schema = schema - coercions.selectable = selectable + if not TYPE_CHECKING: + base.coercions = elements.coercions = coercions + base.elements = elements + base.type_api = type_api + coercions.elements = elements + coercions.lambdas = lambdas + coercions.schema = schema + coercions.selectable = selectable from .annotation import _prepare_annotations from .annotation import Annotated diff --git a/lib/sqlalchemy/sql/cache_key.py b/lib/sqlalchemy/sql/cache_key.py index 5922c2db0..88148285c 100644 --- a/lib/sqlalchemy/sql/cache_key.py +++ b/lib/sqlalchemy/sql/cache_key.py @@ -272,7 +272,7 @@ class HasCacheKey: elif meth is ANON_NAME: elements = util.preloaded.sql_elements if isinstance(obj, elements._anonymous_label): - obj = obj.apply_map(anon_map) + obj = obj.apply_map(anon_map) # type: ignore result += (attrname, obj) elif meth is CALL_GEN_CACHE_KEY: result += ( -- cgit v1.2.1