libstdc++: Fix bug in iterator_traits<common_iterator<S,I>>
The wrong type was being used in the __common_iter_has_arrow constraint, creating a circular dependency where the iterator_traits specialization was needed before it was complete. The correct parameter for the __common_iter_has_arrow concept is the first template argument of the common_iterator, not the common_iterator itself. * include/bits/stl_iterator.h (__detail::__common_iter_ptr): Change to take parameters of common_iterator, instead of the common_iterator type itself. Fix argument for __common_iter_has_arrow constraint. (iterator_traits<common_iterator<I, S>>::pointer): Adjust.
Showing
Please
register
or
sign in
to comment