Skip to content

Commit 760b442

Browse files
committed
fix: try adding & everywhere
1 parent 41e909b commit 760b442

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

include/pybind11/pybind11.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1967,26 +1967,26 @@ struct iterator_state {
19671967

19681968
// Note: these helpers take the iterator by non-const reference because some
19691969
// iterators in the wild can't be dereferenced when const. C++ needs the extra parens in decltype.
1970-
template <typename Iterator, typename ResultType = decltype((*std::declval<Iterator>()))>
1970+
template <typename Iterator, typename ResultType = decltype((*std::declval<Iterator &>()))>
19711971
struct iterator_access {
1972-
using result_type = decltype((*std::declval<Iterator>()));
1972+
using result_type = decltype((*std::declval<Iterator &>()));
19731973
// NOLINTNEXTLINE(readability-const-return-type) // PR #3263
19741974
result_type operator()(Iterator &it) const {
19751975
return *it;
19761976
}
19771977
};
19781978

1979-
template <typename Iterator, typename ResultType = decltype(((*std::declval<Iterator>()).first)) >
1979+
template <typename Iterator, typename ResultType = decltype(((*std::declval<Iterator &>()).first)) >
19801980
struct iterator_key_access {
1981-
using result_type = decltype(((*std::declval<Iterator>()).first));
1981+
using result_type = decltype(((*std::declval<Iterator &>()).first));
19821982
result_type operator()(Iterator &it) const {
19831983
return (*it).first;
19841984
}
19851985
};
19861986

1987-
template <typename Iterator, typename ResultType = decltype(((*std::declval<Iterator>()).second))>
1987+
template <typename Iterator, typename ResultType = decltype(((*std::declval<Iterator &>()).second))>
19881988
struct iterator_value_access {
1989-
using result_type = decltype(((*std::declval<Iterator>()).second));
1989+
using result_type = decltype(((*std::declval<Iterator &>()).second));
19901990
result_type operator()(Iterator &it) const {
19911991
return (*it).second;
19921992
}

0 commit comments

Comments
 (0)