|
11 | 11 | from typing import Any |
12 | 12 |
|
13 | 13 | import numpy as np |
| 14 | +from numpy.typing import NDArray |
14 | 15 |
|
15 | | -class SubClass(np.ndarray): ... |
| 16 | +class SubClass(NDArray[np.object_]): ... |
16 | 17 |
|
17 | 18 | f8: np.float64 |
18 | 19 | B: SubClass |
19 | | -AR_f8: np.ndarray[Any, np.dtype[np.float64]] |
20 | | -AR_i8: np.ndarray[Any, np.dtype[np.int64]] |
21 | | -AR_U: np.ndarray[Any, np.dtype[np.str_]] |
| 20 | +AR_f8: NDArray[np.float64] |
| 21 | +AR_i8: NDArray[np.int64] |
| 22 | +AR_U: NDArray[np.str_] |
22 | 23 |
|
23 | 24 | ctypes_obj = AR_f8.ctypes |
24 | 25 |
|
@@ -126,7 +127,7 @@ class SubClass(np.ndarray): ... |
126 | 127 |
|
127 | 128 | reveal_type(f8.repeat(1)) # E: numpy.ndarray[Any, numpy.dtype[{float64}]] |
128 | 129 | reveal_type(AR_f8.repeat(1)) # E: numpy.ndarray[Any, numpy.dtype[{float64}]] |
129 | | -reveal_type(B.repeat(1)) # E: numpy.ndarray[Any, Any] |
| 130 | +reveal_type(B.repeat(1)) # E: numpy.ndarray[Any, numpy.dtype[numpy.object_]] |
130 | 131 |
|
131 | 132 | reveal_type(f8.std()) # E: Any |
132 | 133 | reveal_type(AR_f8.std()) # E: Any |
@@ -189,3 +190,6 @@ class SubClass(np.ndarray): ... |
189 | 190 | reveal_type(complex(AR_f8)) # E: complex |
190 | 191 |
|
191 | 192 | reveal_type(operator.index(AR_i8)) # E: int |
| 193 | + |
| 194 | +reveal_type(AR_f8.__array_prepare__(B)) # E: numpy.ndarray[Any, numpy.dtype[numpy.object_]] |
| 195 | +reveal_type(AR_f8.__array_wrap__(B)) # E: numpy.ndarray[Any, numpy.dtype[numpy.object_]] |
0 commit comments