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!");