Add unchecked_reference::operator() and operator[] to overload resolution of unchecked_mutable_reference (#2514)

This commit is contained in:
Yannick Jadoul
2020-10-02 19:07:04 +02:00
committed by GitHub
parent 2b6b98e28f
commit 56784c4f42
3 changed files with 19 additions and 0 deletions

View File

@@ -318,6 +318,18 @@ TEST_SUBMODULE(numpy_array, sm) {
return auxiliaries(r, r2);
});
sm.def("proxy_auxiliaries1_const_ref", [](py::array_t<double> a) {
const auto &r = a.unchecked<1>();
const auto &r2 = a.mutable_unchecked<1>();
return r(0) == r2(0) && r[0] == r2[0];
});
sm.def("proxy_auxiliaries2_const_ref", [](py::array_t<double> a) {
const auto &r = a.unchecked<2>();
const auto &r2 = a.mutable_unchecked<2>();
return r(0, 0) == r2(0, 0);
});
// test_array_unchecked_dyn_dims
// Same as the above, but without a compile-time dimensions specification:
sm.def("proxy_add2_dyn", [](py::array_t<double> a, double v) {