Using MSVC 19.43 in C++20 mode leads to a compile error in tst_qstringview. MSVC interprets QStringTokenizer as std::ranges::sized_range because it found size() in the namespace QtPrivate::Tok. QStringTokenizer is derived from a class in that namespace. Naturally this leads to a compile error because QStringTokenizer has no size member function as required in QtPrivate::Tok::size(): qstringtokenizer.h(118): error C2039: 'size': is not a member of 'QStringTokenizer<QStringView,QStringView>' qstringtokenizer.h(232): note: see declaration of 'QStringTokenizer<QStringView,QStringView>' qstringtokenizer.h(118): note: the template instantiation context (the oldest one first) is tst_qstringview.cpp(680): note: see reference to function template instantiation ... The problem can be avoided by renaming QtPrivate::Tok::size() to tokenSize. MSVC 19.43 interprets QStringTokenizer as std::ranges::range that do not need the size() member function. Pick-to: 6.9 6.8 Change-Id: Ib94db8e4d840a143bbf693c89e3714e1528a0267 Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
…
…
Description
Languages
C++
84.3%
HTML
4.9%
C
3.9%
CMake
3.6%
Objective-C++
2%
Other
0.8%