Skip to content

Commit

Permalink
TST: Add typing tests for np.ctypeslib.c_intp and its mypy plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
Bas van Beek committed May 21, 2021
1 parent 869243e commit 5eca599
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 3 deletions.
3 changes: 3 additions & 0 deletions numpy/typing/tests/data/reveal/ctypeslib.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import numpy as np

reveal_type(np.ctypeslib.c_intp()) # E: {c_intp}
4 changes: 2 additions & 2 deletions numpy/typing/tests/data/reveal/ndarray_misc.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ class SubClass(np.ndarray): ...
ctypes_obj = AR_f8.ctypes

reveal_type(ctypes_obj.data) # E: int
reveal_type(ctypes_obj.shape) # E: ctypes.Array[ctypes.c_int64]
reveal_type(ctypes_obj.strides) # E: ctypes.Array[ctypes.c_int64]
reveal_type(ctypes_obj.shape) # E: ctypes.Array[{c_intp}]
reveal_type(ctypes_obj.strides) # E: ctypes.Array[{c_intp}]
reveal_type(ctypes_obj._as_parameter_) # E: ctypes.c_void_p

reveal_type(ctypes_obj.data_as(ct.c_void_p)) # E: ctypes.c_void_p
Expand Down
9 changes: 8 additions & 1 deletion numpy/typing/tests/test_typing.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,11 @@

import pytest
import numpy as np
from numpy.typing.mypy_plugin import _PRECISION_DICT, _EXTENDED_PRECISION_LIST
from numpy.typing.mypy_plugin import (
_PRECISION_DICT,
_EXTENDED_PRECISION_LIST,
_C_INTP,
)

try:
from mypy import api
Expand Down Expand Up @@ -219,6 +223,9 @@ def _construct_format_dict():

# numpy.typing
"_NBitInt": dct['_NBitInt'],

# numpy.ctypeslib
"c_intp": f"ctypes.{_C_INTP}"
}


Expand Down

0 comments on commit 5eca599

Please sign in to comment.