does not compile as C++20
With gcc-13 and CMAKE_CXX_STANDARD 20
: error message excesses starting with
[2/41] Building CXX object QCR/CMakeFiles/QCR.dir/QCR_autogen/mocs_compilation.cpp.o
FAILED: QCR/CMakeFiles/QCR.dir/QCR_autogen/mocs_compilation.cpp.o
ccache /usr/bin/c++ -DQCR_EXPORTS -DQT_CORE_LIB -DQT_DISABLE_DEPRECATED_BEFORE=0x050F00 -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -I/G/lib/qcr/build/QCR/QCR_autogen/include -I/G/lib/qcr -isystem /usr/include/x86_64-linux-gnu/qt6/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt6 -isystem /usr/include/x86_64-linux-gnu/qt6/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt6/QtGui -D__STRICT_ANSI__ -DQT_LOGGING_RULES="*.debug=true" -std=gnu++20 -fPIC -MD -MT QCR/CMakeFiles/QCR.dir/QCR_autogen/mocs_compilation.cpp.o -MF QCR/CMakeFiles/QCR.dir/QCR_autogen/mocs_compilation.cpp.o.d -o QCR/CMakeFiles/QCR.dir/QCR_autogen/mocs_compilation.cpp.o -c /G/lib/qcr/build/QCR/QCR_autogen/mocs_compilation.cpp
In file included from /usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:13,
from /usr/include/x86_64-linux-gnu/qt6/QtCore/qnamespace.h:12,
from /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs.h:12,
from /usr/include/x86_64-linux-gnu/qt6/QtCore/qobject.h:10,
from /usr/include/x86_64-linux-gnu/qt6/QtCore/QObject:1,
from /G/lib/qcr/build/QCR/QCR_autogen/BCDQH4B662/../../../../QCR/engine/console.h:19,
from /G/lib/qcr/build/QCR/QCR_autogen/BCDQH4B662/moc_console.cpp:9,
from /G/lib/qcr/build/QCR/QCR_autogen/mocs_compilation.cpp:2:
/usr/include/c++/13/type_traits: In instantiation of ‘constexpr const bool std::is_default_constructible_v<std::formatter<__int128, wchar_t> >’:
/usr/include/c++/13/format:3655:23: required from ‘std::__format::_Formatting_scanner<std::__format::_Sink_iter<wchar_t>, wchar_t>::_M_format_arg(std::size_t)::<lambda(auto:53&)> [with auto:53 = __int128]’
/usr/include/c++/13/format:3171:44: required from ‘decltype(auto) std::basic_format_arg<_Context>::_M_visit(_Visitor&&, std::__format::_Arg_t) [with _Visitor = std::__format::_Formatting_scanner<std::__format::_Sink_iter<wchar_t>, wchar_t>::_M_format_arg(std::size_t)::<lambda(auto:53&)>; _Context = std::basic_format_context<std::__format::_Sink_iter<wchar_t>, wchar_t>]’
/usr/include/c++/13/format:3192:28: required from ‘decltype(auto) std::visit_format_arg(_Visitor&&, basic_format_arg<_Context>) [with _Visitor = __format::_Formatting_scanner<__format::_Sink_iter<wchar_t>, wchar_t>::_M_format_arg(std::size_t)::<lambda(auto:53&)>; _Context = basic_format_context<__format::_Sink_iter<wchar_t>, wchar_t>]’
/usr/include/c++/13/format:3648:23: required from ‘constexpr void std::__format::_Formatting_scanner<_Out, _CharT>::_M_format_arg(std::size_t) [with _Out = std::__format::_Sink_iter<wchar_t>; _CharT = wchar_t; std::size_t = long unsigned int]’
/usr/include/c++/13/format:3643:7: required from here
/usr/include/c++/13/type_traits:3251:54: error: ambiguous template instantiation for ‘struct std::formatter<__int128, wchar_t>’
3251 | inline constexpr bool is_default_constructible_v = __is_constructible(_Tp);
| ^~~~~~~~~~~~~~~~~~~~~~~