]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
update for mypy 1.20.0
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 1 Apr 2026 18:31:21 +0000 (14:31 -0400)
committerMichael Bayer <mike_mp@zzzcomputing.com>
Wed, 1 Apr 2026 19:48:10 +0000 (19:48 +0000)
Change-Id: I95f72b8a1818b79d01d26531202199f24fe3b808

examples/generic_associations/table_per_related.py
lib/sqlalchemy/ext/hybrid.py
lib/sqlalchemy/ext/mutable.py
lib/sqlalchemy/sql/compiler.py
lib/sqlalchemy/util/_immutabledict_cy.py
pyproject.toml

index bd3311d844bd5b3111a882143cf61e2d4b8449b9..f84d89e0fed421b2a172f21e3f789f8f622daccc 100644 (file)
@@ -20,6 +20,7 @@ is completely automated.
 from __future__ import annotations
 
 from typing import Any
+from typing import ClassVar
 from typing import TYPE_CHECKING
 
 from sqlalchemy import create_engine
@@ -92,6 +93,8 @@ class HasAddresses:
 
     """
 
+    Address: ClassVar[type]
+
     @declared_attr
     def addresses(cls: type[Any]) -> Mapped[list[AddressWithParent]]:
         cls.Address = type(
index f0137bc22f77aa4ac54331681d51b7a784b1711e..f0efee6b76f9a870fed8fa2fcc759c6c73736157 100644 (file)
@@ -1755,7 +1755,7 @@ class hybrid_property(interfaces.InspectionAttrInfo, ORMDescriptor[_T]):
                         name = self.__name__
                         break
             else:
-                name = attributes._UNKNOWN_ATTR_KEY  # type: ignore[assignment]
+                name = attributes._UNKNOWN_ATTR_KEY  # type: ignore[assignment,unused-ignore]  # noqa: E501
 
             return cast(
                 "_HybridClassLevelAccessor[_T]",
index 535eb58b93891bdf1e9c4de5b89c0bc089c20dc0..c2b0344d890c026f7974d43fc9e8ad30c7047b6f 100644 (file)
@@ -1034,7 +1034,7 @@ class MutableSet(Mutable, Set[_T]):
         self.symmetric_difference_update(other)
         return self
 
-    def __isub__(self, other: AbstractSet[object]) -> MutableSet[_T]:  # type: ignore[misc] # noqa: E501
+    def __isub__(self, other: AbstractSet[object]) -> MutableSet[_T]:  # type: ignore[misc,unused-ignore] # noqa: E501
         self.difference_update(other)
         return self
 
@@ -1046,7 +1046,7 @@ class MutableSet(Mutable, Set[_T]):
         set.remove(self, elem)
         self.changed()
 
-    def discard(self, elem: _T) -> None:
+    def discard(self, elem: _T) -> None:  # type: ignore[override,unused-ignore] # noqa: E501
         set.discard(self, elem)
         self.changed()
 
index 5273aa6e7f790f890f3aec973e95ba6c50f0e6fb..b8781d00bab6ffed3b69a33254802d85cc9f78d0 100644 (file)
@@ -4756,6 +4756,8 @@ class SQLCompiler(Compiled):
             "_label_select_column is only relevant within "
             "the columns clause of a SELECT or RETURNING"
         )
+        result_expr: elements.Label[Any] | _CompileLabel
+
         if isinstance(column, elements.Label):
             if col_expr is not column:
                 result_expr = _CompileLabel(
index 2d556b23f839383f11edb511517102fba4650abe..e4ea842ec01e6ad1dd1e0df076fe23001ad2e5bf 100644 (file)
@@ -229,12 +229,12 @@ class immutabledict(Dict[_KT, _VT]):
         self, __value: Mapping[_KT, _VT], /
     ) -> immutabledict[_KT, _VT]:
         return immutabledict(
-            dict.__or__(self, __value),  # type: ignore[call-overload]
+            dict.__or__(self, __value),  # type: ignore[call-overload,operator,unused-ignore]  # noqa: E501
         )
 
     def __ror__(  # type: ignore[override]
         self, __value: Mapping[_KT, _VT], /
     ) -> immutabledict[_KT, _VT]:
         return immutabledict(
-            dict.__ror__(self, __value),  # type: ignore[call-overload]
+            dict.__ror__(self, __value),  # type: ignore[call-overload,operator,unused-ignore]  # noqa: E501
         )
index f2d9d61ca51e9bd49a34d968b5b1337529d65b0b..9cc90ee0992861ad77a3594ec6070b13998496dc 100644 (file)
@@ -45,7 +45,7 @@ Discussions = "https://github.com/sqlalchemy/sqlalchemy/discussions"
 [project.optional-dependencies]
 asyncio = ["greenlet>=1"]
 mypy = [
-    "mypy >= 1.19",
+    "mypy >= 1.20",
     "types-greenlet >= 2",
 ]
 mssql = ["pyodbc"]