summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriantra <iantrasolari@gmail.com>2022-09-01 15:30:45 +0200
committerCharles Harris <charlesr.harris@gmail.com>2022-09-07 07:25:30 -0600
commit5a5b6504368e35b0fbd399bad79c7385e4e6d10a (patch)
treeda6962944d731686b50c1b041b1b892342ed2ee0
parente18dd98ca72441f3eead9c974550ccd75b2247dd (diff)
downloadnumpy-5a5b6504368e35b0fbd399bad79c7385e4e6d10a.tar.gz
BUG: change overload order to play nice with pyright.
Pyright just chooses the first matching type whenever there is ambiguity in type resolution, which leads to NoReturn for the cross function in certain situations. Other overloads were changed to match. See ticket #22146
-rw-r--r--numpy/core/numeric.pyi54
1 files changed, 27 insertions, 27 deletions
diff --git a/numpy/core/numeric.pyi b/numpy/core/numeric.pyi
index d09144f90..ed2b03ab4 100644
--- a/numpy/core/numeric.pyi
+++ b/numpy/core/numeric.pyi
@@ -257,6 +257,12 @@ def flatnonzero(a: ArrayLike) -> NDArray[intp]: ...
@overload
def correlate(
+ a: _ArrayLikeObject_co,
+ v: _ArrayLikeObject_co,
+ mode: _CorrelateMode = ...,
+) -> NDArray[object_]: ...
+@overload
+def correlate(
a: _ArrayLikeBool_co,
v: _ArrayLikeBool_co,
mode: _CorrelateMode = ...,
@@ -291,13 +297,13 @@ def correlate(
v: _ArrayLikeTD64_co,
mode: _CorrelateMode = ...,
) -> NDArray[timedelta64]: ...
+
@overload
-def correlate(
+def convolve(
a: _ArrayLikeObject_co,
v: _ArrayLikeObject_co,
mode: _CorrelateMode = ...,
) -> NDArray[object_]: ...
-
@overload
def convolve(
a: _ArrayLikeBool_co,
@@ -334,13 +340,13 @@ def convolve(
v: _ArrayLikeTD64_co,
mode: _CorrelateMode = ...,
) -> NDArray[timedelta64]: ...
+
@overload
-def convolve(
+def outer(
a: _ArrayLikeObject_co,
- v: _ArrayLikeObject_co,
- mode: _CorrelateMode = ...,
+ b: _ArrayLikeObject_co,
+ out: None = ...,
) -> NDArray[object_]: ...
-
@overload
def outer(
a: _ArrayLikeBool_co,
@@ -379,12 +385,6 @@ def outer(
) -> NDArray[timedelta64]: ...
@overload
def outer(
- a: _ArrayLikeObject_co,
- b: _ArrayLikeObject_co,
- out: None = ...,
-) -> NDArray[object_]: ...
-@overload
-def outer(
a: _ArrayLikeComplex_co | _ArrayLikeTD64_co | _ArrayLikeObject_co,
b: _ArrayLikeComplex_co | _ArrayLikeTD64_co | _ArrayLikeObject_co,
out: _ArrayType,
@@ -392,6 +392,12 @@ def outer(
@overload
def tensordot(
+ a: _ArrayLikeObject_co,
+ b: _ArrayLikeObject_co,
+ axes: int | tuple[_ShapeLike, _ShapeLike] = ...,
+) -> NDArray[object_]: ...
+@overload
+def tensordot(
a: _ArrayLikeBool_co,
b: _ArrayLikeBool_co,
axes: int | tuple[_ShapeLike, _ShapeLike] = ...,
@@ -426,12 +432,6 @@ def tensordot(
b: _ArrayLikeTD64_co,
axes: int | tuple[_ShapeLike, _ShapeLike] = ...,
) -> NDArray[timedelta64]: ...
-@overload
-def tensordot(
- a: _ArrayLikeObject_co,
- b: _ArrayLikeObject_co,
- axes: int | tuple[_ShapeLike, _ShapeLike] = ...,
-) -> NDArray[object_]: ...
@overload
def roll(
@@ -460,6 +460,15 @@ def moveaxis(
@overload
def cross(
+ a: _ArrayLikeObject_co,
+ b: _ArrayLikeObject_co,
+ axisa: int = ...,
+ axisb: int = ...,
+ axisc: int = ...,
+ axis: None | int = ...,
+) -> NDArray[object_]: ...
+@overload
+def cross(
a: _ArrayLikeBool_co,
b: _ArrayLikeBool_co,
axisa: int = ...,
@@ -503,15 +512,6 @@ def cross(
axisc: int = ...,
axis: None | int = ...,
) -> NDArray[complexfloating[Any, Any]]: ...
-@overload
-def cross(
- a: _ArrayLikeObject_co,
- b: _ArrayLikeObject_co,
- axisa: int = ...,
- axisb: int = ...,
- axisc: int = ...,
- axis: None | int = ...,
-) -> NDArray[object_]: ...
@overload
def indices(