summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBas van Beek <b.f.van.beek@vu.nl>2021-06-04 22:40:30 +0200
committerBas van Beek <b.f.van.beek@vu.nl>2021-06-04 22:40:30 +0200
commit982cafd324d6b0a9c77b61f2ea3ca335812a2949 (patch)
tree3b142991b7e40d921f5188b4c957f4097d54b5ef
parent6790873334b143117f4e8d1f515def8c7fdeb9fb (diff)
downloadnumpy-982cafd324d6b0a9c77b61f2ea3ca335812a2949.tar.gz
BUG: Fixe an issue wherein `_GenericAlias` could raise for non-tuple parameters
-rw-r--r--numpy/typing/_generic_alias.py2
-rw-r--r--numpy/typing/tests/test_generic_alias.py6
2 files changed, 7 insertions, 1 deletions
diff --git a/numpy/typing/_generic_alias.py b/numpy/typing/_generic_alias.py
index 0d30f54ca..18a180440 100644
--- a/numpy/typing/_generic_alias.py
+++ b/numpy/typing/_generic_alias.py
@@ -104,7 +104,7 @@ class _GenericAlias:
def __init__(self, origin: type, args: Any) -> None:
self._origin = origin
self._args = args if isinstance(args, tuple) else (args,)
- self._parameters = tuple(_parse_parameters(args))
+ self._parameters = tuple(_parse_parameters(self.__args__))
@property
def __call__(self) -> type:
diff --git a/numpy/typing/tests/test_generic_alias.py b/numpy/typing/tests/test_generic_alias.py
index 0b9917439..27afe3927 100644
--- a/numpy/typing/tests/test_generic_alias.py
+++ b/numpy/typing/tests/test_generic_alias.py
@@ -41,6 +41,12 @@ class TestGenericAlias:
@pytest.mark.parametrize("name,func", [
("__init__", lambda n: n),
+ ("__init__", lambda n: _GenericAlias(np.ndarray, Any)),
+ ("__init__", lambda n: _GenericAlias(np.ndarray, (Any,))),
+ ("__init__", lambda n: _GenericAlias(np.ndarray, (Any, Any))),
+ ("__init__", lambda n: _GenericAlias(np.ndarray, T1)),
+ ("__init__", lambda n: _GenericAlias(np.ndarray, (T1,))),
+ ("__init__", lambda n: _GenericAlias(np.ndarray, (T1, T2))),
("__origin__", lambda n: n.__origin__),
("__args__", lambda n: n.__args__),
("__parameters__", lambda n: n.__parameters__),