Skip to content

Commit f50e072

Browse files
committed
update for mypy 1.20.0
Change-Id: I95f72b8a1818b79d01d26531202199f24fe3b808 (cherry picked from commit 120eb13e8e08d167fafd56590aaeb3c048f7afcc)
1 parent 51bc261 commit f50e072

20 files changed

Lines changed: 169 additions & 159 deletions

lib/sqlalchemy/ext/hybrid.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1436,7 +1436,7 @@ def expr_comparator(
14361436
name = self.__name__
14371437
break
14381438
else:
1439-
name = attributes._UNKNOWN_ATTR_KEY # type: ignore[assignment]
1439+
name = attributes._UNKNOWN_ATTR_KEY # type: ignore[assignment,unused-ignore] # noqa: E501
14401440

14411441
return cast(
14421442
"_HybridClassLevelAccessor[_T]",

lib/sqlalchemy/ext/mutable.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1038,7 +1038,7 @@ def __ixor__(self, other: AbstractSet[_T]) -> MutableSet[_T]: # type: ignore[ov
10381038
self.symmetric_difference_update(other)
10391039
return self
10401040

1041-
def __isub__(self, other: AbstractSet[object]) -> MutableSet[_T]: # type: ignore[misc] # noqa: E501
1041+
def __isub__(self, other: AbstractSet[object]) -> MutableSet[_T]: # type: ignore[misc,unused-ignore] # noqa: E501
10421042
self.difference_update(other)
10431043
return self
10441044

@@ -1050,7 +1050,7 @@ def remove(self, elem: _T) -> None:
10501050
set.remove(self, elem)
10511051
self.changed()
10521052

1053-
def discard(self, elem: _T) -> None:
1053+
def discard(self, elem: _T) -> None: # type: ignore[override,unused-ignore] # noqa: E501
10541054
set.discard(self, elem)
10551055
self.changed()
10561056

lib/sqlalchemy/sql/compiler.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4569,6 +4569,8 @@ def add_to_result_map(keyname, name, objects, type_):
45694569
"_label_select_column is only relevant within "
45704570
"the columns clause of a SELECT or RETURNING"
45714571
)
4572+
result_expr: Union[elements.Label[Any], _CompileLabel]
4573+
45724574
if isinstance(column, elements.Label):
45734575
if col_expr is not column:
45744576
result_expr = _CompileLabel(

lib/sqlalchemy/testing/fixtures/mypy.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -202,15 +202,18 @@ def _collect_messages(self, path):
202202
expected_msg,
203203
)
204204

205-
expected_msg = re.sub(
206-
"List", "builtins.list", expected_msg
207-
)
205+
# as of mypy 1.20.0 it's not spitting out
206+
# "builtins" anymore (using assert_type() would be
207+
# better overall)
208+
# expected_msg = re.sub(
209+
# "List", "builtins.list", expected_msg
210+
# )
208211

209-
expected_msg = re.sub(
210-
r"\b(int|str|float|bool)\b",
211-
lambda m: rf"builtins.{m.group(0)}\*?",
212-
expected_msg,
213-
)
212+
# expected_msg = re.sub(
213+
# r"\b(int|str|float|bool)\b",
214+
# lambda m: rf"builtins.{m.group(0)}\*?",
215+
# expected_msg,
216+
# )
214217
# expected_msg = re.sub(
215218
# r"(Sequence|Tuple|List|Union)",
216219
# lambda m: fr"typing.{m.group(0)}\*?",

lib/sqlalchemy/util/_py_collections.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -147,14 +147,14 @@ def __or__( # type: ignore[override]
147147
self, __value: Mapping[_KT, _VT]
148148
) -> immutabledict[_KT, _VT]:
149149
return immutabledict(
150-
super().__or__(__value), # type: ignore[call-overload]
150+
super().__or__(__value), # type: ignore[call-overload,operator,unused-ignore] # noqa: E501
151151
)
152152

153153
def __ror__( # type: ignore[override]
154154
self, __value: Mapping[_KT, _VT]
155155
) -> immutabledict[_KT, _VT]:
156156
return immutabledict(
157-
super().__ror__(__value), # type: ignore[call-overload]
157+
super().__ror__(__value), # type: ignore[call-overload,operator,unused-ignore] # noqa: E501
158158
)
159159

160160

@@ -198,7 +198,7 @@ def insert(self, pos: int, element: _T) -> None:
198198
self._list.insert(pos, element)
199199
super().add(element)
200200

201-
def discard(self, element: _T) -> None:
201+
def discard(self, element: _T) -> None: # type: ignore[override,unused-ignore] # noqa: E501
202202
if element in self:
203203
self._list.remove(element)
204204
super().remove(element)
@@ -248,7 +248,7 @@ def intersection(self, *other: Iterable[Any]) -> OrderedSet[_T]:
248248
def __and__(self, other: AbstractSet[object]) -> OrderedSet[_T]:
249249
return self.intersection(other)
250250

251-
def symmetric_difference(self, other: Iterable[_T]) -> OrderedSet[_T]:
251+
def symmetric_difference(self, other: Iterable[_T]) -> OrderedSet[_T]: # type: ignore[override,unused-ignore] # noqa: E501
252252
collection: Collection[_T]
253253
if isinstance(other, set):
254254
collection = other_set = other
@@ -271,7 +271,7 @@ def difference(self, *other: Iterable[Any]) -> OrderedSet[_T]:
271271
other_set = super().difference(*other)
272272
return self.__class__(a for a in self._list if a in other_set)
273273

274-
def __sub__(self, other: AbstractSet[Optional[_T]]) -> OrderedSet[_T]:
274+
def __sub__(self, other: AbstractSet[Optional[_T]]) -> OrderedSet[_T]: # type: ignore[override,unused-ignore] # noqa: E501
275275
return self.difference(other)
276276

277277
def intersection_update(self, *other: Iterable[Any]) -> None:

lib/sqlalchemy/util/typing.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,7 @@ def de_optionalize_union_types(
469469
else:
470470
typ.add(elem)
471471

472-
typ.discard(None) # type: ignore
472+
typ.discard(None) # type: ignore[arg-type,unused-ignore]
473473

474474
typ = {t for t in typ if t is not NoneType and not is_fwd_none(t)}
475475

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ lint = [
9696

9797
mypy = [
9898
{include-group = "tests-greenlet"},
99-
"mypy>=1.19.0",
99+
"mypy>=1.20.0",
100100
"nox", # because we check noxfile.py
101101
"pytest>8,<10", # alembic/testing imports pytest
102102
"types-greenlet",

test/typing/plain_files/ext/association_proxy/association_proxy_one.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ class Address(Base):
4040
u1 = User()
4141

4242
if typing.TYPE_CHECKING:
43-
# EXPECTED_RE_TYPE: sqlalchemy.*.associationproxy.AssociationProxyInstance\[builtins.set\*?\[builtins.str\]\]
43+
# EXPECTED_RE_TYPE: sqlalchemy.*.associationproxy.AssociationProxyInstance\[set\*?\[str\]\]
4444
reveal_type(User.email_addresses)
4545

46-
# EXPECTED_RE_TYPE: builtins.set\*?\[builtins.str\]
46+
# EXPECTED_RE_TYPE: set\*?\[str\]
4747
reveal_type(u1.email_addresses)

test/typing/plain_files/ext/hybrid/hybrid_one.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,19 +66,19 @@ def fancy_thing(self, point: int, x: int, y: int) -> bool:
6666
stmt2 = select(expr4)
6767

6868
if typing.TYPE_CHECKING:
69-
# EXPECTED_RE_TYPE: builtins.int\*?
69+
# EXPECTED_RE_TYPE: int\*?
7070
reveal_type(i1.length)
7171

72-
# EXPECTED_RE_TYPE: sqlalchemy.*._HybridClassLevelAccessor\[builtins.int\*?\]
72+
# EXPECTED_RE_TYPE: sqlalchemy.*._HybridClassLevelAccessor\[int\*?\]
7373
reveal_type(Interval.length)
7474

75-
# EXPECTED_RE_TYPE: sqlalchemy.*.BinaryExpression\[builtins.bool\*?\]
75+
# EXPECTED_RE_TYPE: sqlalchemy.*.BinaryExpression\[bool\*?\]
7676
reveal_type(expr1)
7777

78-
# EXPECTED_RE_TYPE: sqlalchemy.*.SQLCoreOperations\[builtins.int\*?\]
78+
# EXPECTED_RE_TYPE: sqlalchemy.*.SQLCoreOperations\[int\*?\]
7979
reveal_type(expr2)
8080

81-
# EXPECTED_RE_TYPE: sqlalchemy.*.SQLCoreOperations\[builtins.int\*?\]
81+
# EXPECTED_RE_TYPE: sqlalchemy.*.SQLCoreOperations\[int\*?\]
8282
reveal_type(expr3)
8383

8484
# EXPECTED_TYPE: bool

test/typing/plain_files/ext/hybrid/hybrid_two.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ def old_radius(cls) -> ColumnElement[float]:
4444

4545
# while we are here, check some Float[] / div type stuff
4646
if typing.TYPE_CHECKING:
47-
# EXPECTED_RE_TYPE: sqlalchemy.*Function\[builtins.float\*?\]
47+
# EXPECTED_RE_TYPE: sqlalchemy.*Function\[float\*?\]
4848
reveal_type(f1)
4949

50-
# EXPECTED_RE_TYPE: sqlalchemy.*ColumnElement\[builtins.float\*?\]
50+
# EXPECTED_RE_TYPE: sqlalchemy.*ColumnElement\[float\*?\]
5151
reveal_type(expr)
5252
return expr
5353

@@ -66,10 +66,10 @@ def _new_radius_expr(cls) -> ColumnElement[float]:
6666

6767
# while we are here, check some Float[] / div type stuff
6868
if typing.TYPE_CHECKING:
69-
# EXPECTED_RE_TYPE: sqlalchemy.*Function\[builtins.float\*?\]
69+
# EXPECTED_RE_TYPE: sqlalchemy.*Function\[float\*?\]
7070
reveal_type(f1)
7171

72-
# EXPECTED_RE_TYPE: sqlalchemy.*ColumnElement\[builtins.float\*?\]
72+
# EXPECTED_RE_TYPE: sqlalchemy.*ColumnElement\[float\*?\]
7373
reveal_type(expr)
7474
return expr
7575

@@ -92,37 +92,37 @@ def _new_radius_expr(cls) -> ColumnElement[float]:
9292

9393

9494
if typing.TYPE_CHECKING:
95-
# EXPECTED_RE_TYPE: builtins.int\*?
95+
# EXPECTED_RE_TYPE: int\*?
9696
reveal_type(i1.length)
9797

98-
# EXPECTED_RE_TYPE: builtins.float\*?
98+
# EXPECTED_RE_TYPE: float\*?
9999
reveal_type(i2.old_radius)
100100

101-
# EXPECTED_RE_TYPE: builtins.float\*?
101+
# EXPECTED_RE_TYPE: float\*?
102102
reveal_type(i2.new_radius)
103103

104-
# EXPECTED_RE_TYPE: sqlalchemy.*._HybridClassLevelAccessor\[builtins.int\*?\]
104+
# EXPECTED_RE_TYPE: sqlalchemy.*._HybridClassLevelAccessor\[int\*?\]
105105
reveal_type(Interval.length)
106106

107-
# EXPECTED_RE_TYPE: sqlalchemy.*._HybridClassLevelAccessor\[builtins.float\*?\]
107+
# EXPECTED_RE_TYPE: sqlalchemy.*._HybridClassLevelAccessor\[float\*?\]
108108
reveal_type(Interval.old_radius)
109109

110-
# EXPECTED_RE_TYPE: sqlalchemy.*._HybridClassLevelAccessor\[builtins.float\*?\]
110+
# EXPECTED_RE_TYPE: sqlalchemy.*._HybridClassLevelAccessor\[float\*?\]
111111
reveal_type(Interval.new_radius)
112112

113-
# EXPECTED_RE_TYPE: sqlalchemy.*.BinaryExpression\[builtins.bool\*?\]
113+
# EXPECTED_RE_TYPE: sqlalchemy.*.BinaryExpression\[bool\*?\]
114114
reveal_type(expr1)
115115

116-
# EXPECTED_RE_TYPE: sqlalchemy.*._HybridClassLevelAccessor\[builtins.float\*?\]
116+
# EXPECTED_RE_TYPE: sqlalchemy.*._HybridClassLevelAccessor\[float\*?\]
117117
reveal_type(expr2o)
118118

119-
# EXPECTED_RE_TYPE: sqlalchemy.*._HybridClassLevelAccessor\[builtins.float\*?\]
119+
# EXPECTED_RE_TYPE: sqlalchemy.*._HybridClassLevelAccessor\[float\*?\]
120120
reveal_type(expr2n)
121121

122-
# EXPECTED_RE_TYPE: sqlalchemy.*.BinaryExpression\[builtins.bool\*?\]
122+
# EXPECTED_RE_TYPE: sqlalchemy.*.BinaryExpression\[bool\*?\]
123123
reveal_type(expr3o)
124124

125-
# EXPECTED_RE_TYPE: sqlalchemy.*.BinaryExpression\[builtins.bool\*?\]
125+
# EXPECTED_RE_TYPE: sqlalchemy.*.BinaryExpression\[bool\*?\]
126126
reveal_type(expr3n)
127127

128128
# test #9268

0 commit comments

Comments
 (0)