From 182e7c40adbaedd28c171b082060f18df0ce34c7 Mon Sep 17 00:00:00 2001 From: BvB93 <43369155+BvB93@users.noreply.github.com> Date: Fri, 30 Sep 2022 17:33:30 +0200 Subject: [PATCH] TYP,MAINT: Change more overloads to play nice with pyright --- numpy/__init__.pyi | 6 ++++++ numpy/_typing/__init__.py | 1 + 2 files changed, 7 insertions(+) diff --git a/numpy/__init__.pyi b/numpy/__init__.pyi index 651a5174a8de..55381b44592c 100644 --- a/numpy/__init__.pyi +++ b/numpy/__init__.pyi @@ -35,6 +35,8 @@ from numpy._typing import ( _ArrayLikeObject_co, _ArrayLikeStr_co, _ArrayLikeBytes_co, + _ArrayLikeUnknown, + _UnknownType, # DTypes DTypeLike, @@ -2047,6 +2049,8 @@ class ndarray(_ArrayOrScalarCommon, Generic[_ShapeType, _DType_co]): @overload def __radd__(self: NDArray[Any], other: _ArrayLikeObject_co) -> Any: ... + @overload + def __sub__(self: NDArray[_UnknownType], other: _ArrayLikeUnknown) -> NDArray[Any]: ... @overload def __sub__(self: NDArray[bool_], other: _ArrayLikeBool_co) -> NoReturn: ... @overload @@ -2070,6 +2074,8 @@ class ndarray(_ArrayOrScalarCommon, Generic[_ShapeType, _DType_co]): @overload def __sub__(self: NDArray[Any], other: _ArrayLikeObject_co) -> Any: ... + @overload + def __rsub__(self: NDArray[_UnknownType], other: _ArrayLikeUnknown) -> NDArray[Any]: ... @overload def __rsub__(self: NDArray[bool_], other: _ArrayLikeBool_co) -> NoReturn: ... @overload diff --git a/numpy/_typing/__init__.py b/numpy/_typing/__init__.py index 76b806c7f7b5..b800c54b6fe7 100644 --- a/numpy/_typing/__init__.py +++ b/numpy/_typing/__init__.py @@ -199,6 +199,7 @@ class _8Bit(_16Bit): # type: ignore[misc] _ArrayLikeStr_co as _ArrayLikeStr_co, _ArrayLikeBytes_co as _ArrayLikeBytes_co, _ArrayLikeUnknown as _ArrayLikeUnknown, + _UnknownType as _UnknownType, ) from ._generic_alias import ( NDArray as NDArray,