From d35f772dbfa598868bb0a1155ee7bf8ca9183b59 Mon Sep 17 00:00:00 2001 From: iantra Date: Mon, 5 Sep 2022 14:32:34 +0200 Subject: BUG: Introduce Unknown array type to deal with NDArray[Any] more gracefully. --- numpy/_typing/__init__.py | 1 + numpy/_typing/_array_like.py | 13 +++++++++++++ 2 files changed, 14 insertions(+) (limited to 'numpy/_typing') diff --git a/numpy/_typing/__init__.py b/numpy/_typing/__init__.py index 37ed06871..76b806c7f 100644 --- a/numpy/_typing/__init__.py +++ b/numpy/_typing/__init__.py @@ -198,6 +198,7 @@ from ._array_like import ( _ArrayLikeVoid_co as _ArrayLikeVoid_co, _ArrayLikeStr_co as _ArrayLikeStr_co, _ArrayLikeBytes_co as _ArrayLikeBytes_co, + _ArrayLikeUnknown as _ArrayLikeUnknown, ) from ._generic_alias import ( NDArray as NDArray, diff --git a/numpy/_typing/_array_like.py b/numpy/_typing/_array_like.py index 02f264222..2e5684b0b 100644 --- a/numpy/_typing/_array_like.py +++ b/numpy/_typing/_array_like.py @@ -141,3 +141,16 @@ _ArrayLikeInt = _DualArrayLike[ "dtype[integer[Any]]", int, ] + +# Extra ArrayLike type so that pyright can deal with NDArray[Any] +# Used as the first overload, should only match NDArray[Any], +# not any actual types. +# https://github.com/numpy/numpy/pull/22193 +class _UnknownType: + ... + + +_ArrayLikeUnknown = _DualArrayLike[ + "dtype[_UnknownType]", + _UnknownType, +] -- cgit v1.2.1