- 
    
Bug
 - 
    Resolution: Out of scope
 - 
    
P1: Critical
 - 
    None
 - 
    6.8.1
 
Fix for QTBUG-130643 broke gcc 10..2.1.
#include <QList> int main() { QList<int> i; i.rend(); }
g++ -c -pipe -O2 -std=gnu++2a -Wall -Wextra -fPIC -D_REENTRANT -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../Qt/6.8.1/gcc_64/include -I../Qt/6.8.1/gcc_64/include/QtCore -I. -I../Qt/6.8.1/gcc_64/mkspecs/linux-g++ -o main.o main.cpp
In file included from /usr/include/c++/10/bits/stl_iterator_base_types.h:71,
                 from /usr/include/c++/10/bits/stl_algobase.h:65,
                 from /usr/include/c++/10/array:40,
                 from /usr/include/c++/10/tuple:39,
                 from ../Qt/6.8.1/gcc_64/include/QtCore/qttypetraits.h:11,
                 from ../Qt/6.8.1/gcc_64/include/QtCore/qforeach.h:11,
                 from ../Qt/6.8.1/gcc_64/include/QtCore/qglobal.h:57,
                 from ../Qt/6.8.1/gcc_64/include/QtCore/qpair.h:8,
                 from ../Qt/6.8.1/gcc_64/include/QtCore/qarraydata.h:8,
                 from ../Qt/6.8.1/gcc_64/include/QtCore/qarraydataops.h:8,
                 from ../Qt/6.8.1/gcc_64/include/QtCore/qarraydatapointer.h:7,
                 from ../Qt/6.8.1/gcc_64/include/QtCore/qlist.h:8,
                 from ../Qt/6.8.1/gcc_64/include/QtCore/QList:1,
                 from main.cpp:1:
/usr/include/c++/10/bits/iterator_concepts.h: In substitution of ‘template<class _Tp> using __iter_value_t = typename std::__detail::__iter_traits_impl<_Tp, std::indirectly_readable_traits<_Iter> >::type::value_type [with _Tp = QList<int>::iterator]’:
/usr/include/c++/10/bits/iterator_concepts.h:259:11:   required by substitution of ‘template<class _Tp> using iter_value_t = std::__detail::__iter_value_t<typename std::remove_cv<typename std::remove_reference<_Tp>::type>::type> [with _Tp = QList<int>::iterator]’
/usr/include/c++/10/bits/iterator_concepts.h:491:11:   required from ‘class std::reverse_iterator<QList<int>::iterator>’
main.cpp:5:9:   required from here
/usr/include/c++/10/bits/iterator_concepts.h:254:13: error: ambiguous template instantiation for ‘struct std::indirectly_readable_traits<QList<int>::iterator>’
  254 |       using __iter_value_t = typename
      |             ^~~~~~~~~~~~~~
/usr/include/c++/10/bits/iterator_concepts.h:242:12: note: candidates are: ‘template<class _Tp>  requires requires{typename _Tp::value_type;} struct std::indirectly_readable_traits<_Iter> [with _Tp = QList<int>::iterator]’
  242 |     struct indirectly_readable_traits<_Tp>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/10/bits/iterator_concepts.h:247:12: note:                 ‘template<class _Tp>  requires requires{typename _Tp::element_type;} struct std::indirectly_readable_traits<_Iter> [with _Tp = QList<int>::iterator]’
  247 |     struct indirectly_readable_traits<_Tp>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:775: main.o] Error 1
- resulted from
 - 
                    
QTBUG-130643 std::to_address doesn't work for QList::iterator
-         
 - Reported
 
 -