diff --git a/include/pybind11/pytypes.h b/include/pybind11/pytypes.h index 78a604e1..96eab966 100644 --- a/include/pybind11/pytypes.h +++ b/include/pybind11/pytypes.h @@ -1312,7 +1312,7 @@ class buffer : public object { public: PYBIND11_OBJECT_DEFAULT(buffer, object, PyObject_CheckBuffer) - buffer_info request(bool writable = false) { + buffer_info request(bool writable = false) const { int flags = PyBUF_STRIDES | PyBUF_FORMAT; if (writable) flags |= PyBUF_WRITABLE; Py_buffer *view = new Py_buffer(); diff --git a/tests/test_buffers.cpp b/tests/test_buffers.cpp index 5199cf64..433dfeee 100644 --- a/tests/test_buffers.cpp +++ b/tests/test_buffers.cpp @@ -78,7 +78,7 @@ TEST_SUBMODULE(buffers, m) { py::class_(m, "Matrix", py::buffer_protocol()) .def(py::init()) /// Construct from a buffer - .def(py::init([](py::buffer b) { + .def(py::init([](py::buffer const b) { py::buffer_info info = b.request(); if (info.format != py::format_descriptor::format() || info.ndim != 2) throw std::runtime_error("Incompatible buffer format!");