Skip to content

Build fail with gcc C++20 and -DSPDLOG_USE_STD_FORMAT=ON  #2724

Closed
@shazni

Description

I've been using v1.8.5 without -DSPDLOG_USE_STD_FORMAT=ON. Now that officially gcc 13 is available in package managers in Fedora 38 I tried building v1.11.0 which gives a build error in examples.cpp. And also I tried with clang as well and it fails with the same error.

g++ (GCC) 13.1.1 20230426 (Red Hat 13.1.1-1)
clang version 16.0.1 (Fedora 16.0.1-1.fc38)

[ 77%] Built target spdlog [ 88%] Building CXX object example/CMakeFiles/example.dir/example.cpp.o In file included from /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/sinks/udp_sink.h:12, from /home/vagrant/ProjectFiles/codes/orbit/spdlog/example/example.cpp:232: /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/details/udp_client.h: In constructor ‘spdlog::details::udp_client::udp_client(const std::string&, uint16_t)’: /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/details/udp_client.h:68:11: error: ‘::memset’ has not been declared 68 | ::memset(sockAddr_.sin_zero, 0x00, sizeof(sockAddr_.sin_zero)); | ^~~~~~ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/details/udp_client.h:22:1: note: ‘memset’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’? 21 | #include <netinet/udp.h> +++ |+#include <cstring> 22 | In file included from /usr/include/c++/13/bits/chrono_io.h:39, from /usr/include/c++/13/chrono:3330, from /home/vagrant/ProjectFiles/codes/orbit/spdlog/example/example.cpp:8: /usr/include/c++/13/format: In instantiation of ‘static std::__format::_Arg_store<_Context, _Args>::_Element_t std::__format::_Arg_store<_Context, _Args>::_S_make_elt(_Tp&) [with _Tp = spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char> > >; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}; _Element_t = std::__format::_Arg_store<std::basic_format_context<std::__format::_Sink_iter<char>, char>, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle>::_Element_t]’: /usr/include/c++/13/format:3252:23: required from ‘std::__format::_Arg_store<_Context, _Args>::_Arg_store(_Tp& ...) [with _Tp = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >}; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}]’ /usr/include/c++/13/format:3301:14: required from ‘auto std::make_format_args(_Args&& ...) [with _Context = basic_format_context<__format::_Sink_iter<char>, char>; _Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, vector<char, allocator<char> > > >}]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:372:88: required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >}; spdlog::string_view_t = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:90:13: required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:96:12: required from ‘void spdlog::logger::log(spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:158:12: required from ‘void spdlog::logger::info(spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/spdlog.h:161:31: required from ‘void spdlog::info(format_string_t<Args ...>, Args&& ...)[with Args = {details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >}; format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/example/example.cpp:183:17: required from here /usr/include/c++/13/format:3241:38: error: no matching function for call to ‘std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char> > >&)’ 3241 | basic_format_arg<_Context> __arg(__v); | ^~~~~ /usr/include/c++/13/format:2996:9: note: candidate: ‘template<class _Tp> requires __formattable_with<_Tp, _Context, typename _Context::formatter_type<typename std::remove_const<_Tp>::type>, std::basic_format_parse_context<typename _Context::char_type> > std::basic_format_arg<_Context>::basic_format_arg(_Tp&) [with _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>]’ 2996 | basic_format_arg(_Tp& __v) noexcept | ^~~~~~~~~~~~~~~~ /usr/include/c++/13/format:2996:9: note: template argument deduction/substitution failed: /usr/include/c++/13/format:2996:9: note: constraints not satisfied In file included from /usr/include/c++/13/bits/chrono.h:43, from /usr/include/c++/13/chrono:41: /usr/include/c++/13/concepts: In substitution of ‘template<class _Tp> requires __formattable_with<_Tp, _Context, typename _Context::formatter_type<typename std::remove_const<_Tp>::type>, std::basic_format_parse_context<typename _Context::char_type> > std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(_Tp&) [with _Tp = std::basic_format_context<std::__format::_Sink_iter<char>, char>]’: /usr/include/c++/13/format:3241:31: required from ‘static std::__format::_Arg_store<_Context, _Args>::_Element_t std::__format::_Arg_store<_Context, _Args>::_S_make_elt(_Tp&) [with _Tp = spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char> > >; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}; _Element_t = std::__format::_Arg_store<std::basic_format_context<std::__format::_Sink_iter<char>, char>, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle>::_Element_t]’ /usr/include/c++/13/format:3252:23: required from ‘std::__format::_Arg_store<_Context, _Args>::_Arg_store(_Tp& ...) [with _Tp = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >}; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}]’ /usr/include/c++/13/format:3301:14: required from ‘auto std::make_format_args(_Args&& ...) [with _Context = basic_format_context<__format::_Sink_iter<char>, char>; _Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, vector<char, allocator<char> > > >}]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:372:88: required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >}; spdlog::string_view_t = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:90:13: required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:96:12: required from ‘void spdlog::logger::log(spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:158:12: required from ‘void spdlog::logger::info(spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/spdlog.h:161:31: required from ‘void spdlog::info(format_string_t<Args ...>, Args&& ...)[with Args = {details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >}; format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/example/example.cpp:183:17: required from here /usr/include/c++/13/concepts:139:13: required for the satisfaction of ‘assignable_from<_Tp&, _Tp>’ [with _Tp = std::formatter<spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >, char>] /usr/include/c++/13/concepts:263:13: required for the satisfaction of ‘movable<_Tp>’ [with _Tp = std::formatter<spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >, char>] /usr/include/c++/13/concepts:267:13: required for the satisfaction of ‘copyable<_Tp>’ [with _Tp = std::formatter<spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >, char>] /usr/include/c++/13/concepts:272:13: required for the satisfaction of ‘semiregular<_Formatter>’ [with _Formatter = std::formatter<spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >, char>] /usr/include/c++/13/format:2197:13: required for the satisfaction of ‘__formattable_with<_Tp, _Context, typename _Context::formatter_type<typename std::remove_const<_Tp>::type>, std::basic_format_parse_context<typename _Context::char_type> >’ [with _Tp = spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>] /usr/include/c++/13/concepts:142:10: in requirements with ‘_Lhs __lhs’, ‘_Rhs&& __rhs’ [with _Lhs = std::formatter<spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >, char>&; _Rhs = std::formatter<spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >, char>] /usr/include/c++/13/concepts:143:17: note: the required expression ‘__lhs = static_cast<_Rhs&&>(__rhs)’ is invalid 143 | { __lhs = static_cast<_Rhs&&>(__rhs) } -> same_as<_Lhs>; | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/format: In instantiation of ‘static std::__format::_Arg_store<_Context, _Args>::_Element_t std::__format::_Arg_store<_Context, _Args>::_S_make_elt(_Tp&) [with _Tp = spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char> > >; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}; _Element_t = std::__format::_Arg_store<std::basic_format_context<std::__format::_Sink_iter<char>, char>, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle>::_Element_t]’: /usr/include/c++/13/format:3252:23: required from ‘std::__format::_Arg_store<_Context, _Args>::_Arg_store(_Tp& ...) [with _Tp = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >}; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}]’ /usr/include/c++/13/format:3301:14: required from ‘auto std::make_format_args(_Args&& ...) [with _Context = basic_format_context<__format::_Sink_iter<char>, char>; _Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, vector<char, allocator<char> > > >}]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:372:88: required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >}; spdlog::string_view_t = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:90:13: required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:96:12: required from ‘void spdlog::logger::log(spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:158:12: required from ‘void spdlog::logger::info(spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/spdlog.h:161:31: required from ‘void spdlog::info(format_string_t<Args ...>, Args&& ...)[with Args = {details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char, std::allocator<char> > > >}; format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/example/example.cpp:183:17: required from here cc1plus: note: set ‘-fconcepts-diagnostics-depth=’ to at least 2 for more detail /usr/include/c++/13/format:2808:7: note: candidate: ‘std::basic_format_arg<_Context>::basic_format_arg() [with _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>]’ 2808 | basic_format_arg() noexcept : _M_type(__format::_Arg_none) { } | ^~~~~~~~~~~~~~~~ /usr/include/c++/13/format:2808:7: note: candidate expects 0 arguments, 1 provided /usr/include/c++/13/format:2746:11: note: candidate: ‘constexpr std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(const std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&)’ 2746 | class basic_format_arg | ^~~~~~~~~~~~~~~~ /usr/include/c++/13/format:2746:11: note: no known conversion for argument 1 from ‘spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char> > >’ to ‘const std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&’ /usr/include/c++/13/format:2746:11: note: candidate: ‘constexpr std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&&)’ /usr/include/c++/13/format:2746:11: note: no known conversion for argument 1 from ‘spdlog::details::dump_info<__gnu_cxx::__normal_iterator<const char*, std::vector<char> > >’ to ‘std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&&’ /usr/include/c++/13/format: In instantiation of ‘static std::__format::_Arg_store<_Context, _Args>::_Element_t std::__format::_Arg_store<_Context, _Args>::_S_make_elt(_Tp&) [with _Tp = spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char> > >; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}; _Element_t = std::__format::_Arg_store<std::basic_format_context<std::__format::_Sink_iter<char>, char>, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle>::_Element_t]’: /usr/include/c++/13/format:3252:23: required from ‘std::__format::_Arg_store<_Context, _Args>::_Arg_store(_Tp& ...) [with _Tp = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >}; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}]’ /usr/include/c++/13/format:3301:14: required from ‘auto std::make_format_args(_Args&& ...) [with _Context = basic_format_context<__format::_Sink_iter<char>, char>; _Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, vector<char, allocator<char> > > >}]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:372:88: required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >}; spdlog::string_view_t = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:90:13: required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:96:12: required from ‘void spdlog::logger::log(spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:158:12: required from ‘void spdlog::logger::info(spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/spdlog.h:161:31: required from ‘void spdlog::info(format_string_t<Args ...>, Args&& ...)[with Args = {details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >}; format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/example/example.cpp:184:17: required from here /usr/include/c++/13/format:3241:38: error: no matching function for call to ‘std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char> > >&)’ 3241 | basic_format_arg<_Context> __arg(__v); | ^~~~~ /usr/include/c++/13/format:2996:9: note: candidate: ‘template<class _Tp> requires __formattable_with<_Tp, _Context, typename _Context::formatter_type<typename std::remove_const<_Tp>::type>, std::basic_format_parse_context<typename _Context::char_type> > std::basic_format_arg<_Context>::basic_format_arg(_Tp&) [with _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>]’ 2996 | basic_format_arg(_Tp& __v) noexcept | ^~~~~~~~~~~~~~~~ /usr/include/c++/13/format:2996:9: note: template argument deduction/substitution failed: /usr/include/c++/13/format:2996:9: note: constraints not satisfied /usr/include/c++/13/concepts: In substitution of ‘template<class _Tp> requires __formattable_with<_Tp, _Context, typename _Context::formatter_type<typename std::remove_const<_Tp>::type>, std::basic_format_parse_context<typename _Context::char_type> > std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(_Tp&) [with _Tp = std::basic_format_context<std::__format::_Sink_iter<char>, char>]’: /usr/include/c++/13/format:3241:31: required from ‘static std::__format::_Arg_store<_Context, _Args>::_Element_t std::__format::_Arg_store<_Context, _Args>::_S_make_elt(_Tp&) [with _Tp = spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char> > >; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}; _Element_t = std::__format::_Arg_store<std::basic_format_context<std::__format::_Sink_iter<char>, char>, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle>::_Element_t]’ /usr/include/c++/13/format:3252:23: required from ‘std::__format::_Arg_store<_Context, _Args>::_Arg_store(_Tp& ...) [with _Tp = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >}; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}]’ /usr/include/c++/13/format:3301:14: required from ‘auto std::make_format_args(_Args&& ...) [with _Context = basic_format_context<__format::_Sink_iter<char>, char>; _Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, vector<char, allocator<char> > > >}]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:372:88: required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >}; spdlog::string_view_t = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:90:13: required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:96:12: required from ‘void spdlog::logger::log(spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:158:12: required from ‘void spdlog::logger::info(spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/spdlog.h:161:31: required from ‘void spdlog::info(format_string_t<Args ...>, Args&& ...)[with Args = {details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >}; format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/example/example.cpp:184:17: required from here /usr/include/c++/13/concepts:139:13: required for the satisfaction of ‘assignable_from<_Tp&, _Tp>’ [with _Tp = std::formatter<spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >, char>] /usr/include/c++/13/concepts:263:13: required for the satisfaction of ‘movable<_Tp>’ [with _Tp = std::formatter<spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >, char>] /usr/include/c++/13/concepts:267:13: required for the satisfaction of ‘copyable<_Tp>’ [with _Tp = std::formatter<spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >, char>] /usr/include/c++/13/concepts:272:13: required for the satisfaction of ‘semiregular<_Formatter>’ [with _Formatter = std::formatter<spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >, char>] /usr/include/c++/13/format:2197:13: required for the satisfaction of ‘__formattable_with<_Tp, _Context, typename _Context::formatter_type<typename std::remove_const<_Tp>::type>, std::basic_format_parse_context<typename _Context::char_type> >’ [with _Tp = spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>] /usr/include/c++/13/concepts:142:10: in requirements with ‘_Lhs __lhs’, ‘_Rhs&& __rhs’ [with _Lhs = std::formatter<spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >, char>&; _Rhs = std::formatter<spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >, char>] /usr/include/c++/13/concepts:143:17: note: the required expression ‘__lhs = static_cast<_Rhs&&>(__rhs)’ is invalid 143 | { __lhs = static_cast<_Rhs&&>(__rhs) } -> same_as<_Lhs>; | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/format: In instantiation of ‘static std::__format::_Arg_store<_Context, _Args>::_Element_t std::__format::_Arg_store<_Context, _Args>::_S_make_elt(_Tp&) [with _Tp = spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char> > >; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}; _Element_t = std::__format::_Arg_store<std::basic_format_context<std::__format::_Sink_iter<char>, char>, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle>::_Element_t]’: /usr/include/c++/13/format:3252:23: required from ‘std::__format::_Arg_store<_Context, _Args>::_Arg_store(_Tp& ...) [with _Tp = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >}; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}]’ /usr/include/c++/13/format:3301:14: required from ‘auto std::make_format_args(_Args&& ...) [with _Context = basic_format_context<__format::_Sink_iter<char>, char>; _Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, vector<char, allocator<char> > > >}]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:372:88: required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >}; spdlog::string_view_t = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:90:13: required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:96:12: required from ‘void spdlog::logger::log(spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:158:12: required from ‘void spdlog::logger::info(spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/spdlog.h:161:31: required from ‘void spdlog::info(format_string_t<Args ...>, Args&& ...)[with Args = {details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > > >}; format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/example/example.cpp:184:17: required from here /usr/include/c++/13/format:2808:7: note: candidate: ‘std::basic_format_arg<_Context>::basic_format_arg() [with _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>]’ 2808 | basic_format_arg() noexcept : _M_type(__format::_Arg_none) { } | ^~~~~~~~~~~~~~~~ /usr/include/c++/13/format:2808:7: note: candidate expects 0 arguments, 1 provided /usr/include/c++/13/format:2746:11: note: candidate: ‘constexpr std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(const std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&)’ 2746 | class basic_format_arg | ^~~~~~~~~~~~~~~~ /usr/include/c++/13/format:2746:11: note: no known conversion for argument 1 from ‘spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char> > >’ to ‘const std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&’ /usr/include/c++/13/format:2746:11: note: candidate: ‘constexpr std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&&)’ /usr/include/c++/13/format:2746:11: note: no known conversion for argument 1 from ‘spdlog::details::dump_info<__gnu_cxx::__normal_iterator<char*, std::vector<char> > >’ to ‘std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&&’ /usr/include/c++/13/format: In instantiation of ‘static std::__format::_Arg_store<_Context, _Args>::_Element_t std::__format::_Arg_store<_Context, _Args>::_S_make_elt(_Tp&) [with _Tp = spdlog::stopwatch; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}; _Element_t = std::__format::_Arg_store<std::basic_format_context<std::__format::_Sink_iter<char>, char>, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle>::_Element_t]’: /usr/include/c++/13/format:3252:23: required from ‘std::__format::_Arg_store<_Context, _Args>::_Arg_store(_Tp& ...) [with _Tp = {spdlog::stopwatch}; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}]’ /usr/include/c++/13/format:3301:14: required from ‘auto std::make_format_args(_Args&& ...) [with _Context = basic_format_context<__format::_Sink_iter<char>, char>; _Args = {spdlog::stopwatch&}]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:372:88: required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {spdlog::stopwatch&}; spdlog::string_view_t = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:90:13: required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::stopwatch&}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:96:12: required from ‘void spdlog::logger::log(spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::stopwatch&}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:158:12: required from ‘void spdlog::logger::info(spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::stopwatch&}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/spdlog.h:161:31: required from ‘void spdlog::info(format_string_t<Args ...>, Args&& ...)[with Args = {stopwatch&}; format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/example/example.cpp:229:17: required from here /usr/include/c++/13/format:3241:38: error: no matching function for call to ‘std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(spdlog::stopwatch&)’ 3241 | basic_format_arg<_Context> __arg(__v); | ^~~~~ /usr/include/c++/13/format:2996:9: note: candidate: ‘template<class _Tp> requires __formattable_with<_Tp, _Context, typename _Context::formatter_type<typename std::remove_const<_Tp>::type>, std::basic_format_parse_context<typename _Context::char_type> > std::basic_format_arg<_Context>::basic_format_arg(_Tp&) [with _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>]’ 2996 | basic_format_arg(_Tp& __v) noexcept | ^~~~~~~~~~~~~~~~ /usr/include/c++/13/format:2996:9: note: template argument deduction/substitution failed: /usr/include/c++/13/format:2996:9: note: constraints not satisfied /usr/include/c++/13/format: In substitution of ‘template<class _Tp> requires __formattable_with<_Tp, _Context, typename _Context::formatter_type<typename std::remove_const<_Tp>::type>, std::basic_format_parse_context<typename _Context::char_type> > std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(_Tp&) [with _Tp = std::basic_format_context<std::__format::_Sink_iter<char>, char>]’: /usr/include/c++/13/format:3241:31: required from ‘static std::__format::_Arg_store<_Context, _Args>::_Element_t std::__format::_Arg_store<_Context, _Args>::_S_make_elt(_Tp&) [with _Tp = spdlog::stopwatch; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}; _Element_t = std::__format::_Arg_store<std::basic_format_context<std::__format::_Sink_iter<char>, char>, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle>::_Element_t’ /usr/include/c++/13/format:3252:23: required from ‘std::__format::_Arg_store<_Context, _Args>::_Arg_store(_Tp& ...) [with _Tp = {spdlog::stopwatch}; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}]’ /usr/include/c++/13/format:3301:14: required from ‘auto std::make_format_args(_Args&& ...) [with _Context = basic_format_context<__format::_Sink_iter<char>, char>; _Args = {spdlog::stopwatch&}]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:372:88: required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {spdlog::stopwatch&}; spdlog::string_view_t = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:90:13: required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::stopwatch&}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:96:12: required from ‘void spdlog::logger::log(spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::stopwatch&}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:158:12: required from ‘void spdlog::logger::info(spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::stopwatch&}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/spdlog.h:161:31: required from ‘void spdlog::info(format_string_t<Args ...>, Args&& ...)[with Args = {stopwatch&}; format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/example/example.cpp:229:17: required from here /usr/include/c++/13/format:2197:13: required for the satisfaction of ‘__formattable_with<_Tp, _Context, typename _Context::formatter_type<typename std::remove_const<_Tp>::type>, std::basic_format_parse_context<typename _Context::char_type> >’ [with _Tp = spdlog::stopwatch; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>] /usr/include/c++/13/format:2199:7: in requirements with ‘const _Formatter __cf’, ‘_Tp&& __t’, ‘_Context __fc’ [with _Formatter = std::formatter<spdlog::stopwatch, char>; _Tp = spdlog::stopwatch; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>] /usr/include/c++/13/format:2201:20: note: the required expression ‘__cf.format(__t, __fc)’ is invalid 2201 | { __cf.format(__t, __fc) } -> same_as<typename _Context::iterator>; | ~~~~~~~~~~~^~~~~~~~~~~ /usr/include/c++/13/format: In instantiation of ‘static std::__format::_Arg_store<_Context, _Args>::_Element_t std::__format::_Arg_store<_Context, _Args>::_S_make_elt(_Tp&) [with _Tp = spdlog::stopwatch; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}; _Element_t = std::__format::_Arg_store<std::basic_format_context<std::__format::_Sink_iter<char>, char>, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle>::_Element_t]’: /usr/include/c++/13/format:3252:23: required from ‘std::__format::_Arg_store<_Context, _Args>::_Arg_store(_Tp& ...) [with _Tp = {spdlog::stopwatch}; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}]’ /usr/include/c++/13/format:3301:14: required from ‘auto std::make_format_args(_Args&& ...) [with _Context = basic_format_context<__format::_Sink_iter<char>, char>; _Args = {spdlog::stopwatch&}]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:372:88: required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {spdlog::stopwatch&}; spdlog::string_view_t = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:90:13: required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::stopwatch&}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:96:12: required from ‘void spdlog::logger::log(spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::stopwatch&}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:158:12: required from ‘void spdlog::logger::info(spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {spdlog::stopwatch&}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/spdlog.h:161:31: required from ‘void spdlog::info(format_string_t<Args ...>, Args&& ...)[with Args = {stopwatch&}; format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/example/example.cpp:229:17: required from here /usr/include/c++/13/format:2808:7: note: candidate: ‘std::basic_format_arg<_Context>::basic_format_arg() [with _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>]’ 2808 | basic_format_arg() noexcept : _M_type(__format::_Arg_none) { } | ^~~~~~~~~~~~~~~~ /usr/include/c++/13/format:2808:7: note: candidate expects 0 arguments, 1 provided /usr/include/c++/13/format:2746:11: note: candidate: ‘constexpr std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(const std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&)’ 2746 | class basic_format_arg | ^~~~~~~~~~~~~~~~ /usr/include/c++/13/format:2746:11: note: no known conversion for argument 1 from ‘spdlog::stopwatch’ to ‘const std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&’ /usr/include/c++/13/format:2746:11: note: candidate: ‘constexpr std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&&)’ /usr/include/c++/13/format:2746:11: note: no known conversion for argument 1 from ‘spdlog::stopwatch’ to ‘std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&&’ /usr/include/c++/13/format: In instantiation of ‘static std::__format::_Arg_store<_Context, _Args>::_Element_t std::__format::_Arg_store<_Context, _Args>::_S_make_elt(_Tp&) [with _Tp = my_type; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}; _Element_t = std::__format::_Arg_store<std::basic_format_context<std::__format::_Sink_iter<char>, char>, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle>::_Element_t]’: /usr/include/c++/13/format:3252:23: required from ‘std::__format::_Arg_store<_Context, _Args>::_Arg_store(_Tp& ...) [with _Tp = {my_type}; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}]’ /usr/include/c++/13/format:3301:14: required from ‘auto std::make_format_args(_Args&& ...) [with _Context = basic_format_context<__format::_Sink_iter<char>, char>; _Args = {my_type}]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:372:88: required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {my_type}; spdlog::string_view_t = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:90:13: required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {my_type}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:96:12: required from ‘void spdlog::logger::log(spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {my_type}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:158:12: required from ‘void spdlog::logger::info(spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {my_type}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/spdlog.h:161:31: required from ‘void spdlog::info(format_string_t<Args ...>, Args&& ...)[with Args = {my_type}; format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/example/example.cpp:288:17: required from here /usr/include/c++/13/format:3241:38: error: no matching function for call to ‘std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(my_type&)’ 3241 | basic_format_arg<_Context> __arg(__v); | ^~~~~ /usr/include/c++/13/format:2996:9: note: candidate: ‘template<class _Tp> requires __formattable_with<_Tp, _Context, typename _Context::formatter_type<typename std::remove_const<_Tp>::type>, std::basic_format_parse_context<typename _Context::char_type> > std::basic_format_arg<_Context>::basic_format_arg(_Tp&) [with _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>]’ 2996 | basic_format_arg(_Tp& __v) noexcept | ^~~~~~~~~~~~~~~~ /usr/include/c++/13/format:2996:9: note: template argument deduction/substitution failed: /usr/include/c++/13/format:2996:9: note: constraints not satisfied /usr/include/c++/13/format: In substitution of ‘template<class _Tp> requires __formattable_with<_Tp, _Context, typename _Context::formatter_type<typename std::remove_const<_Tp>::type>, std::basic_format_parse_context<typename _Context::char_type> > std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(_Tp&) [with _Tp = std::basic_format_context<std::__format::_Sink_iter<char>, char>]’: /usr/include/c++/13/format:3241:31: required from ‘static std::__format::_Arg_store<_Context, _Args>::_Element_t std::__format::_Arg_store<_Context, _Args>::_S_make_elt(_Tp&) [with _Tp = my_type; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}; _Element_t = std::__format::_Arg_store<std::basic_format_context<std::__format::_Sink_iter<char>, char>, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle>::_Element_t]’ /usr/include/c++/13/format:3252:23: required from ‘std::__format::_Arg_store<_Context, _Args>::_Arg_store(_Tp& ...) [with _Tp = {my_type}; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}]’ /usr/include/c++/13/format:3301:14: required from ‘auto std::make_format_args(_Args&& ...) [with _Context = basic_format_context<__format::_Sink_iter<char>, char>; _Args = {my_type}]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:372:88: required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {my_type}; spdlog::string_view_t = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:90:13: required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {my_type}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:96:12: required from ‘void spdlog::logger::log(spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {my_type}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:158:12: required from ‘void spdlog::logger::info(spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {my_type}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/spdlog.h:161:31: required from ‘void spdlog::info(format_string_t<Args ...>, Args&& ...)[with Args = {my_type}; format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/example/example.cpp:288:17: required from here /usr/include/c++/13/format:2197:13: required for the satisfaction of ‘__formattable_with<_Tp, _Context, typename _Context::formatter_type<typename std::remove_const<_Tp>::type>, std::basic_format_parse_context<typename _Context::char_type> >’ [with _Tp = my_type; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>] /usr/include/c++/13/format:2199:7: in requirements with ‘const _Formatter __cf’, ‘_Tp&& __t’, ‘_Context __fc’ [with _Formatter = std::formatter<my_type, char>; _Tp = my_type; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>] /usr/include/c++/13/format:2201:20: note: the required expression ‘__cf.format(__t, __fc)’ is invalid 2201 | { __cf.format(__t, __fc) } -> same_as<typename _Context::iterator>; | ~~~~~~~~~~~^~~~~~~~~~~ /usr/include/c++/13/format: In instantiation of ‘static std::__format::_Arg_store<_Context, _Args>::_Element_t std::__format::_Arg_store<_Context, _Args>::_S_make_elt(_Tp&) [with _Tp = my_type; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}; _Element_t = std::__format::_Arg_store<std::basic_format_context<std::__format::_Sink_iter<char>, char>, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle>::_Element_t]’: /usr/include/c++/13/format:3252:23: required from ‘std::__format::_Arg_store<_Context, _Args>::_Arg_store(_Tp& ...) [with _Tp = {my_type}; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}]’ /usr/include/c++/13/format:3301:14: required from ‘auto std::make_format_args(_Args&& ...) [with _Context = basic_format_context<__format::_Sink_iter<char>, char>; _Args = {my_type}]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:372:88: required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {my_type}; spdlog::string_view_t = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:90:13: required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {my_type}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:96:12: required from ‘void spdlog::logger::log(spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {my_type}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/logger.h:158:12: required from ‘void spdlog::logger::info(spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {my_type}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/include/spdlog/spdlog.h:161:31: required from ‘void spdlog::info(format_string_t<Args ...>, Args&& ...)[with Args = {my_type}; format_string_t<Args ...> = std::basic_string_view<char>]’ /home/vagrant/ProjectFiles/codes/orbit/spdlog/example/example.cpp:288:17: required from here /usr/include/c++/13/format:2808:7: note: candidate: ‘std::basic_format_arg<_Context>::basic_format_arg() [with _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>]’ 2808 | basic_format_arg() noexcept : _M_type(__format::_Arg_none) { } | ^~~~~~~~~~~~~~~~ /usr/include/c++/13/format:2808:7: note: candidate expects 0 arguments, 1 provided /usr/include/c++/13/format:2746:11: note: candidate: ‘constexpr std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(const std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&)’ 2746 | class basic_format_arg | ^~~~~~~~~~~~~~~~ /usr/include/c++/13/format:2746:11: note: no known conversion for argument 1 from ‘my_type’ to ‘const std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&’ /usr/include/c++/13/format:2746:11: note: candidate: ‘constexpr std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&&)’ /usr/include/c++/13/format:2746:11: note: no known conversion for argument 1 from ‘my_type’ to ‘std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&&’ make[2]: *** [example/CMakeFiles/example.dir/build.make:76: example/CMakeFiles/example.dir/example.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:126: example/CMakeFiles/example.dir/all] Error 2 make: *** [Makefile:156: all] Error 2

I think the first error with memset can easily be solved by adding header. But I'm struggling with the other errors that stems from example.cpp

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions