@@ -139,12 +139,9 @@ struct all_type_info {
139
139
iterator (vec_iter &&it, detail::type_info *single_base)
140
140
: all_it{std::move (it)}, single{single_base} {}
141
141
142
- using value_type = detail::type_info *;
143
- using reference = const value_type &;
144
-
145
142
bool operator ==(const iterator &it) { return single ? single == it.single : all_it == it.all_it ; }
146
143
bool operator !=(const iterator &it) { return !(*this == it); }
147
- reference operator *() { return single ? single : *all_it; }
144
+ detail::type_info * operator *() { return single ? single : *all_it; }
148
145
iterator &operator ++() {
149
146
if (single) single = nullptr ;
150
147
else ++all_it;
@@ -382,7 +379,7 @@ PYBIND11_NOINLINE inline handle get_object_handle(const void *ptr, const detail:
382
379
auto &instances = get_internals ().registered_instances ;
383
380
auto range = instances.equal_range (ptr);
384
381
for (auto it = range.first ; it != range.second ; ++it) {
385
- for (const auto & instance_type : detail::all_type_info (Py_TYPE (it->second ))) {
382
+ for (auto instance_type : detail::all_type_info (Py_TYPE (it->second ))) {
386
383
if (instance_type && instance_type == type)
387
384
return handle ((PyObject *) it->second );
388
385
}
@@ -485,7 +482,7 @@ class type_caster_generic {
485
482
486
483
auto it_instances = internals.registered_instances .equal_range (src);
487
484
for (auto it_i = it_instances.first ; it_i != it_instances.second ; ++it_i) {
488
- for (auto & instance_type : detail::all_type_info (Py_TYPE (it_i->second ))) {
485
+ for (auto instance_type : detail::all_type_info (Py_TYPE (it_i->second ))) {
489
486
if (instance_type && instance_type == tinfo)
490
487
return handle ((PyObject *) it_i->second ).inc_ref ();
491
488
}
0 commit comments