@@ -181,8 +181,9 @@ struct npy_api {
181181 unsigned int (*PyArray_GetNDArrayCFeatureVersion_)();
182182 PyObject *(*PyArray_DescrFromType_)(int );
183183 PyObject *(*PyArray_NewFromDescr_)
184- (PyTypeObject *, PyObject *, int , Py_intptr_t *,
185- Py_intptr_t *, void *, int , PyObject *);
184+ (PyTypeObject *, PyObject *, int , Py_intptr_t const *,
185+ Py_intptr_t const *, void *, int , PyObject *);
186+ // Unused. Not removed because that affects ABI of the class.
186187 PyObject *(*PyArray_DescrNewFromType_)(int );
187188 int (*PyArray_CopyInto_)(PyObject *, PyObject *);
188189 PyObject *(*PyArray_NewCopy_)(PyObject *, int );
@@ -193,9 +194,10 @@ struct npy_api {
193194 PyObject *(*PyArray_FromAny_) (PyObject *, PyObject *, int , int , int , PyObject *);
194195 int (*PyArray_DescrConverter_) (PyObject *, PyObject **);
195196 bool (*PyArray_EquivTypes_) (PyObject *, PyObject *);
196- int (*PyArray_GetArrayParamsFromObject_)(PyObject *, PyObject *, char , PyObject **, int *,
197- Py_ssize_t *, PyObject **, PyObject *);
197+ int (*PyArray_GetArrayParamsFromObject_)(PyObject *, PyObject *, unsigned char , PyObject **, int *,
198+ Py_intptr_t *, PyObject **, PyObject *);
198199 PyObject *(*PyArray_Squeeze_)(PyObject *);
200+ // Unused. Not removed because that affects ABI of the class.
199201 int (*PyArray_SetBaseObject_)(PyObject *, PyObject *);
200202 PyObject* (*PyArray_Resize_)(PyObject*, PyArray_Dims*, int , int );
201203private:
@@ -211,7 +213,7 @@ struct npy_api {
211213 API_PyArray_CopyInto = 82 ,
212214 API_PyArray_NewCopy = 85 ,
213215 API_PyArray_NewFromDescr = 94 ,
214- API_PyArray_DescrNewFromType = 9 ,
216+ API_PyArray_DescrNewFromType = 96 ,
215217 API_PyArray_DescrConverter = 174 ,
216218 API_PyArray_EquivTypes = 182 ,
217219 API_PyArray_GetArrayParamsFromObject = 278 ,
@@ -866,7 +868,7 @@ template <typename T, int ExtraFlags = array::forcecast> class array_t : public
866868 ExtraFlags & f_style ? f_strides(*shape, itemsize()) : c_strides(*shape, itemsize()),
867869 ptr, base) { }
868870
869- explicit array_t (size_t count, const T *ptr = nullptr , handle base = handle())
871+ explicit array_t (ssize_t count, const T *ptr = nullptr , handle base = handle())
870872 : array({count}, {}, ptr, base) { }
871873
872874 constexpr ssize_t itemsize () const {
0 commit comments