)]}'
{
  "commit": "5f2c678916ce2890e51333e0b684eb443e8848ed",
  "tree": "87f0969d11d4a74146cbbb024bb2a85faa46f15c",
  "parents": [
    "8f68ecd32c8e18d3b064dbf0ea5fc31a6cb37e9a"
  ],
  "author": {
    "name": "Daniel Simon",
    "email": "dansimon09@gmail.com",
    "time": "Sun Feb 08 15:04:46 2026 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sun Feb 08 15:04:46 2026 -0800"
  },
  "message": "Add helpers to array that return the size and strides as a std::span (#5974)\n\n* Add helper functions to pybind11::array to return the shape and strides as a std::span. These functions are hidden with macros unless PYBIND11_CPP20 is defined and the \u003cspan\u003e include has been found.\n\n* style: pre-commit fixes\n\n* tests: Add unit tests for shape_span() and strides_span()\n\nAdd comprehensive unit tests for the new std::span helper functions:\n- Test 0D, 1D, 2D, and 3D arrays\n- Verify spans match regular shape()/strides() methods\n- Test that spans can be used to construct new arrays\n- Tests are conditionally compiled only when PYBIND11_HAS_SPAN is defined\n\n* Use __cpp_lib_span feature test macro instead of __has_include\n\nReplace __has_include(\u003cspan\u003e) check with __cpp_lib_span feature test macro\nto resolve ambiguity where some pre-C++20 systems might have a global\nheader called \u003cspan\u003e that isn\u0027t the C++20 std::span.\n\nThe check is moved after \u003cversion\u003e is included, consistent with how\n__cpp_lib_char8_t is handled.\n\nCo-authored-by: Cursor \u003ccursoragent@cursor.com\u003e\n\n* Fix: Use py::ssize_t instead of ssize_t in span tests\n\nOn Windows/MSVC, ssize_t is not available in the standard namespace\nwithout proper includes. Use py::ssize_t (the pybind11 typedef) instead\nto ensure cross-platform compatibility.\n\nFixes compilation errors on:\n- Windows/MSVC 2022 (C++20)\n- GCC 10 (C++20)\n\nCo-authored-by: Cursor \u003ccursoragent@cursor.com\u003e\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e\nCo-authored-by: Ralf W. Grosse-Kunstleve \u003crgrossekunst@nvidia.com\u003e\nCo-authored-by: Cursor \u003ccursoragent@cursor.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "19ebc8532e0ca183a49ccadaf3e67fa4db81bcfb",
      "old_mode": 33188,
      "old_path": "include/pybind11/detail/common.h",
      "new_id": "017d134da1301b6bebaeac7e746aa5f0820ab0d0",
      "new_mode": 33188,
      "new_path": "include/pybind11/detail/common.h"
    },
    {
      "type": "modify",
      "old_id": "6fa6c772b98f9a30a7120339063f37f37045e3d6",
      "old_mode": 33188,
      "old_path": "include/pybind11/numpy.h",
      "new_id": "408d1699cfdd9154752acebdda209f0b3d6cb9b7",
      "new_mode": 33188,
      "new_path": "include/pybind11/numpy.h"
    },
    {
      "type": "modify",
      "old_id": "ac6b1cfe3540336ac329333cea26233d9ba8fbe4",
      "old_mode": 33188,
      "old_path": "tests/test_numpy_array.cpp",
      "new_id": "3bce98835372f7a199b320cd407e9befd7053243",
      "new_mode": 33188,
      "new_path": "tests/test_numpy_array.cpp"
    },
    {
      "type": "modify",
      "old_id": "19c07ca11c2b2ee8e2c083804589affce784816e",
      "old_mode": 33188,
      "old_path": "tests/test_numpy_array.py",
      "new_id": "93477aa23fb5478fc29abaf7cee127d3f163542a",
      "new_mode": 33188,
      "new_path": "tests/test_numpy_array.py"
    }
  ]
}
