From: Federico Caselli Date: Wed, 24 Apr 2024 20:30:21 +0000 (+0200) Subject: Fix typing to support mypy 1.10 X-Git-Tag: rel_2_0_30~21^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=454533aacfc0f9af2332dfd9b9ffbf35c248decc;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Fix typing to support mypy 1.10 Change-Id: I77c0a04331a99c7be77c174721431a5601475dc3 (cherry picked from commit 859dda8f0b2874fcf7f080d15411336047b89a64) --- diff --git a/lib/sqlalchemy/ext/hybrid.py b/lib/sqlalchemy/ext/hybrid.py index 25b74d8d6e..ee8d6a7818 100644 --- a/lib/sqlalchemy/ext/hybrid.py +++ b/lib/sqlalchemy/ext/hybrid.py @@ -1096,7 +1096,7 @@ class hybrid_property(interfaces.InspectionAttrInfo, ORMDescriptor[_T]): self.expr = _unwrap_classmethod(expr) self.custom_comparator = _unwrap_classmethod(custom_comparator) self.update_expr = _unwrap_classmethod(update_expr) - util.update_wrapper(self, fget) + util.update_wrapper(self, fget) # type: ignore[arg-type] @overload def __get__(self, instance: Any, owner: Literal[None]) -> Self: ... diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py index c354ba8386..9aa06be25a 100644 --- a/lib/sqlalchemy/sql/compiler.py +++ b/lib/sqlalchemy/sql/compiler.py @@ -7290,7 +7290,7 @@ class StrSQLTypeCompiler(GenericTypeCompiler): class _SchemaForObjectCallable(Protocol): - def __call__(self, obj: Any) -> str: ... + def __call__(self, __obj: Any) -> str: ... class _BindNameForColProtocol(Protocol): diff --git a/lib/sqlalchemy/util/langhelpers.py b/lib/sqlalchemy/util/langhelpers.py index 4390ae1835..00d5d0f2b3 100644 --- a/lib/sqlalchemy/util/langhelpers.py +++ b/lib/sqlalchemy/util/langhelpers.py @@ -308,10 +308,10 @@ def decorator(target: Callable[..., Any]) -> Callable[[_Fn], _Fn]: ) decorated.__defaults__ = getattr(fn, "__func__", fn).__defaults__ - decorated.__wrapped__ = fn # type: ignore - return cast(_Fn, update_wrapper(decorated, fn)) + decorated.__wrapped__ = fn # type: ignore[attr-defined] + return update_wrapper(decorated, fn) # type: ignore[return-value] - return update_wrapper(decorate, target) + return update_wrapper(decorate, target) # type: ignore[return-value] def _update_argspec_defaults_into_env(spec, env): diff --git a/lib/sqlalchemy/util/typing.py b/lib/sqlalchemy/util/typing.py index 2d9e2250a8..64619957a6 100644 --- a/lib/sqlalchemy/util/typing.py +++ b/lib/sqlalchemy/util/typing.py @@ -337,7 +337,7 @@ def flatten_newtype(type_: NewType) -> Type[Any]: super_type = type_.__supertype__ while is_newtype(super_type): super_type = super_type.__supertype__ - return super_type + return super_type # type: ignore[return-value] def is_fwd_ref( diff --git a/test/typing/plain_files/orm/typed_queries.py b/test/typing/plain_files/orm/typed_queries.py index 7d8a2dd1a3..e5f513a7de 100644 --- a/test/typing/plain_files/orm/typed_queries.py +++ b/test/typing/plain_files/orm/typed_queries.py @@ -97,7 +97,7 @@ def t_select_3() -> None: # awkwardnesses that aren't really worth it ua(id=1, name="foo") - # EXPECTED_TYPE: Type[User] + # EXPECTED_TYPE: type[User] reveal_type(ua) stmt = select(ua.id, ua.name).filter(User.id == 5) @@ -529,13 +529,13 @@ def t_aliased_fromclause() -> None: a4 = aliased(user_table) - # EXPECTED_TYPE: Type[User] + # EXPECTED_TYPE: type[User] reveal_type(a1) - # EXPECTED_TYPE: Type[User] + # EXPECTED_TYPE: type[User] reveal_type(a2) - # EXPECTED_TYPE: Type[User] + # EXPECTED_TYPE: type[User] reveal_type(a3) # EXPECTED_TYPE: FromClause