fix: match NumPy 3.15 proxy layout on 32-bit free-threaded builds (#6200)

* fix: match NumPy 3.15 proxy layout on 32-bit free-threaded builds

NumPy 2.5.2+ aligns the first field after PyObject_HEAD to 8 bytes when
built for Python 3.15+. On 32-bit free-threaded builds sizeof(PyObject)
is 20, so the proxy structs read every field 4 bytes too early.

Fixes #6196.

Assisted-by: ClaudeCode:claude-opus-5-5

* Update include/pybind11/numpy.h

Co-authored-by: Ralf W. Grosse-Kunstleve <rwgkio@gmail.com>

---------

Co-authored-by: Ralf W. Grosse-Kunstleve <rwgkio@gmail.com>
1 file changed