Add const to buffer:request() (#1890)
diff --git a/include/pybind11/pytypes.h b/include/pybind11/pytypes.h
index 78a604e..96eab96 100644
--- a/include/pybind11/pytypes.h
+++ b/include/pybind11/pytypes.h
@@ -1312,7 +1312,7 @@
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 5199cf6..433dfee 100644
--- a/tests/test_buffers.cpp
+++ b/tests/test_buffers.cpp
@@ -78,7 +78,7 @@
py::class_<Matrix>(m, "Matrix", py::buffer_protocol())
.def(py::init<ssize_t, ssize_t>())
/// 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<float>::format() || info.ndim != 2)
throw std::runtime_error("Incompatible buffer format!");