878b2047b5
Because of the addition of the operator T*(), the expression "it + N" where N was not exactly qsizetype but any other integer type was a compilation failure because of ambiguous overload resolution. With GCC it's apparently a warning: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: note: candidate 1: ‘QList<T>::iterator QList<T>::iterator::operator+(qsizetype) const [with T = char; qsizetype = long long int]’ note: candidate 2: ‘operator+(char*, ptrdiff_t {aka long int})’ (built-in) With Clang, it's an error: error: use of overloaded operator '+' is ambiguous (with operand types 'QList<int>::const_iterator' and 'ptrdiff_t' (aka 'long')) note: candidate function inline const_iterator operator+(qsizetype j) const { return const_iterator(i+j); } note: built-in candidate operator+(const int *, long) Pick-to: 6.2 Fixes: QTBUG-96128 Change-Id: Ie72b0dd0fbe84d2caae0fffd16a06f23dd56b060 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> |
||
---|---|---|
.. | ||
collections | ||
containerapisymmetry | ||
qalgorithms | ||
qarraydata | ||
qbitarray | ||
qcache | ||
qcommandlineparser | ||
qcontiguouscache | ||
qcryptographichash | ||
qduplicatetracker | ||
qeasingcurve | ||
qexplicitlyshareddatapointer | ||
qflatmap | ||
qfreelist | ||
qhash | ||
qhashfunctions | ||
qhashseed | ||
qline | ||
qlist | ||
qmacautoreleasepool | ||
qmakearray | ||
qmap | ||
qmargins | ||
qmessageauthenticationcode | ||
qoffsetstringarray | ||
qpair | ||
qpoint | ||
qpointf | ||
qqueue | ||
qrect | ||
qringbuffer | ||
qscopedpointer | ||
qscopedvaluerollback | ||
qscopeguard | ||
qset | ||
qsharedpointer | ||
qsize | ||
qsizef | ||
qstl | ||
qtaggedpointer | ||
qtimeline | ||
qvarlengtharray | ||
qversionnumber | ||
CMakeLists.txt |