-
-
Notifications
You must be signed in to change notification settings - Fork 6.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build failure using latest clang and GCC compilers #1020
Comments
Can you compile and run this library's unit tests, see https://github.com/nlohmann/json#execute-unit-tests ? |
Done. |
Clang version:
|
Hm. There is an assertion failing inside GCC 8's STL implementation that you use with Clang 6. I am not sure that this indicates something is wrong with this library. Could you try libc++ or libstd++ from a stable release of GCC? |
GCC 8.0.1 fails to build too. |
Again with assertions in the STL? |
I will run build and tests on GCC 8.0.1 now and upload results. |
GCC version:
Build failure: [ 2%] Building CXX object CMakeFiles/matrix_structs.dir/src/events.cpp.o
In file included from /usr/include/c++/8/bits/move.h:55,
from /usr/include/c++/8/bits/stl_pair.h:59,
from /usr/include/c++/8/utility:70,
from /usr/include/c++/8/algorithm:60,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:36,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/type_traits: In instantiation of 'struct std::__and_<std::less<void>::__not_overloaded<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, void>, std::is_convertible<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const volatile void*>, std::is_convertible<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const volatile void*> >':
/usr/include/c++/8/bits/stl_function.h:563:17: required from 'constexpr decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) std::less<void>::operator()(_Tp&&, _Up&&) const [with _Tp = const std::__cxx11::basic_string<char>&; _Up = const std::__cxx11::basic_string<char>&; decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) = bool]'
/usr/include/c++/8/bits/stl_map.h:538:32: required from 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::at(const key_type&) [with _Key = std::__cxx11::basic_string<char>; _Tp = nlohmann::basic_json<>; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type = nlohmann::basic_json<>; std::map<_Key, _Tp, _Compare, _Alloc>::key_type = std::__cxx11::basic_string<char>]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:12639:46: required from 'const value_type& nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::at(const typename nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::object_t::key_type&) const [with ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string<char>; BooleanType = bool; NumberIntegerType = long int; NumberUnsignedType = long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer; nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::const_reference = const nlohmann::basic_json<>&; nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::value_type = nlohmann::basic_json<>; typename nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::object_t::key_type = std::__cxx11::basic_string<char>]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:86:50: required from here
/usr/include/c++/8/type_traits:148:12: error: ambiguous template instantiation for 'struct std::less<void>::__not_overloaded<const std::__cxx11::basic_string<char>&, const std::__cxx11::basic_string<char>&, void>'
struct __and_<_B1, _B2, _B3, _Bn...>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/functional:49,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:40,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/bits/stl_function.h:594:9: note: candidates are: 'template<class _Tp, class _Up> struct std::less<void>::__not_overloaded<_Tp, _Up, std::__void_t<decltype (std::operator<(declval<_Tp>(), declval<_Up>()))> > [with _Tp = const std::__cxx11::basic_string<char>&; _Up = const std::__cxx11::basic_string<char>&]'
struct __not_overloaded<_Tp, _Up, __void_t<
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
decltype(operator<(std::declval<_Tp>(), std::declval<_Up>()))>>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/8/bits/stl_function.h:608:9: note: 'template<class _Tp, class _Up> struct std::less<void>::__not_overloaded<_Tp, _Up> [with _Tp = const std::__cxx11::basic_string<char>&; _Up = const std::__cxx11::basic_string<char>&]'
struct __not_overloaded<_Tp, _Up> : __not_overloaded2<_Tp, _Up> { };
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/bits/move.h:55,
from /usr/include/c++/8/bits/stl_pair.h:59,
from /usr/include/c++/8/utility:70,
from /usr/include/c++/8/algorithm:60,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:36,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/type_traits:148:12: error: incomplete type 'std::less<void>::__not_overloaded<const std::__cxx11::basic_string<char>&, const std::__cxx11::basic_string<char>&, void>' used in nested name specifier
struct __and_<_B1, _B2, _B3, _Bn...>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/functional:49,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:40,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/bits/stl_function.h: In instantiation of 'constexpr decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) std::less<void>::operator()(_Tp&&, _Up&&) const [with _Tp = const std::__cxx11::basic_string<char>&; _Up = const std::__cxx11::basic_string<char>&; decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) = bool]':
/usr/include/c++/8/bits/stl_map.h:538:32: required from 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::at(const key_type&) [with _Key = std::__cxx11::basic_string<char>; _Tp = nlohmann::basic_json<>; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type = nlohmann::basic_json<>; std::map<_Key, _Tp, _Compare, _Alloc>::key_type = std::__cxx11::basic_string<char>]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:12639:46: required from 'const value_type& nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::at(const typename nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::object_t::key_type&) const [with ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string<char>; BooleanType = bool; NumberIntegerType = long int; NumberUnsignedType = long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer; nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::const_reference = const nlohmann::basic_json<>&; nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::value_type = nlohmann::basic_json<>; typename nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::object_t::key_type = std::__cxx11::basic_string<char>]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:86:50: required from here
/usr/include/c++/8/bits/stl_function.h:563:17: error: no matching function for call to 'std::less<void>::_S_cmp(const std::__cxx11::basic_string<char>&, const std::__cxx11::basic_string<char>&, std::less<void>::__ptr_cmp<const std::__cxx11::basic_string<char>&, const std::__cxx11::basic_string<char>&>) const'
return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__ptr_cmp<_Tp, _Up>{});
~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/8/bits/stl_function.h:577:2: note: candidate: 'template<class _Tp, class _Up> static constexpr decltype(auto) std::less<void>::_S_cmp(_Tp&&, _Up&&, std::false_type)'
_S_cmp(_Tp&& __t, _Up&& __u, false_type)
^~~~~~
/usr/include/c++/8/bits/stl_function.h:577:2: note: template argument deduction/substitution failed:
/usr/include/c++/8/bits/stl_function.h:563:17: note: cannot convert 'std::less<void>::__ptr_cmp<const std::__cxx11::basic_string<char>&, const std::__cxx11::basic_string<char>&>{}' (type 'std::less<void>::__ptr_cmp<const std::__cxx11::basic_string<char>&, const std::__cxx11::basic_string<char>&>' {aka 'std::__and_<std::less<void>::__not_overloaded<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, void>, std::is_convertible<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const volatile void*>, std::is_convertible<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const volatile void*> >'}) to type 'std::false_type' {aka 'std::integral_constant<bool, false>'}
return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__ptr_cmp<_Tp, _Up>{});
~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/8/bits/stl_function.h:582:2: note: candidate: 'template<class _Tp, class _Up> static constexpr bool std::less<void>::_S_cmp(_Tp&&, _Up&&, std::true_type)'
_S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
^~~~~~
/usr/include/c++/8/bits/stl_function.h:582:2: note: template argument deduction/substitution failed:
/usr/include/c++/8/bits/stl_function.h:563:17: note: cannot convert 'std::less<void>::__ptr_cmp<const std::__cxx11::basic_string<char>&, const std::__cxx11::basic_string<char>&>{}' (type 'std::less<void>::__ptr_cmp<const std::__cxx11::basic_string<char>&, const std::__cxx11::basic_string<char>&>' {aka 'std::__and_<std::less<void>::__not_overloaded<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, void>, std::is_convertible<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const volatile void*>, std::is_convertible<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const volatile void*> >'}) to type 'std::true_type' {aka 'std::integral_constant<bool, true>'}
return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__ptr_cmp<_Tp, _Up>{});
~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/bits/move.h:55,
from /usr/include/c++/8/bits/stl_pair.h:59,
from /usr/include/c++/8/utility:70,
from /usr/include/c++/8/algorithm:60,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:36,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/type_traits: In instantiation of 'struct std::__and_<std::less<void>::__not_overloaded<const char (&)[5], const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, void>, std::is_convertible<const char (&)[5], const volatile void*>, std::is_convertible<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const volatile void*> >':
/usr/include/c++/8/bits/stl_function.h:563:17: required from 'constexpr decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) std::less<void>::operator()(_Tp&&, _Up&&) const [with _Tp = const char (&)[5]; _Up = const std::__cxx11::basic_string<char>&; decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) = bool]'
/usr/include/c++/8/bits/stl_tree.h:1241:21: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) const [with _Kt = char [5]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_tree.h:1231:41: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) [with _Kt = char [5]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_map.h:1176:30: required from 'decltype (((std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_find_tr(__x)) std::map<_Key, _Tp, _Compare, _Alloc>::find(const _Kt&) [with _Kt = char [5]; _Key = std::__cxx11::basic_string<char>; _Tp = nlohmann::basic_json<>; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; decltype (((std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_find_tr(__x)) = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:13498:41: required from 'nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::const_iterator nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::find(KeyT&&) const [with KeyT = const char (&)[5]; ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string<char>; BooleanType = bool; NumberIntegerType = long int; NumberUnsignedType = long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer; nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::const_iterator = nlohmann::detail::iter_impl<const nlohmann::basic_json<> >]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:85:28: required from here
/usr/include/c++/8/type_traits:148:12: error: ambiguous template instantiation for 'struct std::less<void>::__not_overloaded<const char (&)[5], const std::__cxx11::basic_string<char>&, void>'
struct __and_<_B1, _B2, _B3, _Bn...>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/functional:49,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:40,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/bits/stl_function.h:594:9: note: candidates are: 'template<class _Tp, class _Up> struct std::less<void>::__not_overloaded<_Tp, _Up, std::__void_t<decltype (std::operator<(declval<_Tp>(), declval<_Up>()))> > [with _Tp = const char (&)[5]; _Up = const std::__cxx11::basic_string<char>&]'
struct __not_overloaded<_Tp, _Up, __void_t<
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
decltype(operator<(std::declval<_Tp>(), std::declval<_Up>()))>>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/8/bits/stl_function.h:608:9: note: 'template<class _Tp, class _Up> struct std::less<void>::__not_overloaded<_Tp, _Up> [with _Tp = const char (&)[5]; _Up = const std::__cxx11::basic_string<char>&]'
struct __not_overloaded<_Tp, _Up> : __not_overloaded2<_Tp, _Up> { };
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/bits/move.h:55,
from /usr/include/c++/8/bits/stl_pair.h:59,
from /usr/include/c++/8/utility:70,
from /usr/include/c++/8/algorithm:60,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:36,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/type_traits:148:12: error: incomplete type 'std::less<void>::__not_overloaded<const char (&)[5], const std::__cxx11::basic_string<char>&, void>' used in nested name specifier
struct __and_<_B1, _B2, _B3, _Bn...>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/functional:49,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:40,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/bits/stl_function.h: In instantiation of 'constexpr decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) std::less<void>::operator()(_Tp&&, _Up&&) const [with _Tp = const char (&)[5]; _Up = const std::__cxx11::basic_string<char>&; decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) = bool]':
/usr/include/c++/8/bits/stl_tree.h:1241:21: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) const [with _Kt = char [5]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_tree.h:1231:41: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) [with _Kt = char [5]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_map.h:1176:30: required from 'decltype (((std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_find_tr(__x)) std::map<_Key, _Tp, _Compare, _Alloc>::find(const _Kt&) [with _Kt = char [5]; _Key = std::__cxx11::basic_string<char>; _Tp = nlohmann::basic_json<>; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; decltype (((std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_find_tr(__x)) = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:13498:41: required from 'nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::const_iterator nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::find(KeyT&&) const [with KeyT = const char (&)[5]; ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string<char>; BooleanType = bool; NumberIntegerType = long int; NumberUnsignedType = long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer; nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::const_iterator = nlohmann::detail::iter_impl<const nlohmann::basic_json<> >]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:85:28: required from here
/usr/include/c++/8/bits/stl_function.h:563:17: error: no matching function for call to 'std::less<void>::_S_cmp(const char [5], const std::__cxx11::basic_string<char>&, std::less<void>::__ptr_cmp<const char (&)[5], const std::__cxx11::basic_string<char>&>) const'
return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__ptr_cmp<_Tp, _Up>{});
~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/8/bits/stl_function.h:577:2: note: candidate: 'template<class _Tp, class _Up> static constexpr decltype(auto) std::less<void>::_S_cmp(_Tp&&, _Up&&, std::false_type)'
_S_cmp(_Tp&& __t, _Up&& __u, false_type)
^~~~~~
/usr/include/c++/8/bits/stl_function.h:577:2: note: template argument deduction/substitution failed:
/usr/include/c++/8/bits/stl_function.h:563:17: note: cannot convert 'std::less<void>::__ptr_cmp<const char (&)[5], const std::__cxx11::basic_string<char>&>{}' (type 'std::less<void>::__ptr_cmp<const char (&)[5], const std::__cxx11::basic_string<char>&>' {aka 'std::__and_<std::less<void>::__not_overloaded<const char (&)[5], const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, void>, std::is_convertible<const char (&)[5], const volatile void*>, std::is_convertible<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const volatile void*> >'}) to type 'std::false_type' {aka 'std::integral_constant<bool, false>'}
return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__ptr_cmp<_Tp, _Up>{});
~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/8/bits/stl_function.h:582:2: note: candidate: 'template<class _Tp, class _Up> static constexpr bool std::less<void>::_S_cmp(_Tp&&, _Up&&, std::true_type)'
_S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
^~~~~~
/usr/include/c++/8/bits/stl_function.h:582:2: note: template argument deduction/substitution failed:
/usr/include/c++/8/bits/stl_function.h:563:17: note: cannot convert 'std::less<void>::__ptr_cmp<const char (&)[5], const std::__cxx11::basic_string<char>&>{}' (type 'std::less<void>::__ptr_cmp<const char (&)[5], const std::__cxx11::basic_string<char>&>' {aka 'std::__and_<std::less<void>::__not_overloaded<const char (&)[5], const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, void>, std::is_convertible<const char (&)[5], const volatile void*>, std::is_convertible<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const volatile void*> >'}) to type 'std::true_type' {aka 'std::integral_constant<bool, true>'}
return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__ptr_cmp<_Tp, _Up>{});
~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/bits/move.h:55,
from /usr/include/c++/8/bits/stl_pair.h:59,
from /usr/include/c++/8/utility:70,
from /usr/include/c++/8/algorithm:60,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:36,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/type_traits: In instantiation of 'struct std::__and_<std::less<void>::__not_overloaded<const char (&)[8], const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, void>, std::is_convertible<const char (&)[8], const volatile void*>, std::is_convertible<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const volatile void*> >':
/usr/include/c++/8/bits/stl_function.h:563:17: required from 'constexpr decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) std::less<void>::operator()(_Tp&&, _Up&&) const [with _Tp = const char (&)[8]; _Up = const std::__cxx11::basic_string<char>&; decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) = bool]'
/usr/include/c++/8/bits/stl_tree.h:1241:21: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) const [with _Kt = char [8]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_tree.h:1231:41: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) [with _Kt = char [8]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_map.h:1176:30: required from 'decltype (((std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_find_tr(__x)) std::map<_Key, _Tp, _Compare, _Alloc>::find(const _Kt&) [with _Kt = char [8]; _Key = std::__cxx11::basic_string<char>; _Tp = nlohmann::basic_json<>; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; decltype (((std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_find_tr(__x)) = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:13498:41: required from 'nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::const_iterator nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::find(KeyT&&) const [with KeyT = const char (&)[8]; ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string<char>; BooleanType = bool; NumberIntegerType = long int; NumberUnsignedType = long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer; nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::const_iterator = nlohmann::detail::iter_impl<const nlohmann::basic_json<> >]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:120:31: required from here
/usr/include/c++/8/type_traits:148:12: error: ambiguous template instantiation for 'struct std::less<void>::__not_overloaded<const char (&)[8], const std::__cxx11::basic_string<char>&, void>'
struct __and_<_B1, _B2, _B3, _Bn...>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/functional:49,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:40,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/bits/stl_function.h:594:9: note: candidates are: 'template<class _Tp, class _Up> struct std::less<void>::__not_overloaded<_Tp, _Up, std::__void_t<decltype (std::operator<(declval<_Tp>(), declval<_Up>()))> > [with _Tp = const char (&)[8]; _Up = const std::__cxx11::basic_string<char>&]'
struct __not_overloaded<_Tp, _Up, __void_t<
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
decltype(operator<(std::declval<_Tp>(), std::declval<_Up>()))>>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/8/bits/stl_function.h:608:9: note: 'template<class _Tp, class _Up> struct std::less<void>::__not_overloaded<_Tp, _Up> [with _Tp = const char (&)[8]; _Up = const std::__cxx11::basic_string<char>&]'
struct __not_overloaded<_Tp, _Up> : __not_overloaded2<_Tp, _Up> { };
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/bits/move.h:55,
from /usr/include/c++/8/bits/stl_pair.h:59,
from /usr/include/c++/8/utility:70,
from /usr/include/c++/8/algorithm:60,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:36,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/type_traits:148:12: error: incomplete type 'std::less<void>::__not_overloaded<const char (&)[8], const std::__cxx11::basic_string<char>&, void>' used in nested name specifier
struct __and_<_B1, _B2, _B3, _Bn...>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/functional:49,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:40,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/bits/stl_function.h: In instantiation of 'constexpr decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) std::less<void>::operator()(_Tp&&, _Up&&) const [with _Tp = const char (&)[8]; _Up = const std::__cxx11::basic_string<char>&; decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) = bool]':
/usr/include/c++/8/bits/stl_tree.h:1241:21: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) const [with _Kt = char [8]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_tree.h:1231:41: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) [with _Kt = char [8]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_map.h:1176:30: required from 'decltype (((std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_find_tr(__x)) std::map<_Key, _Tp, _Compare, _Alloc>::find(const _Kt&) [with _Kt = char [8]; _Key = std::__cxx11::basic_string<char>; _Tp = nlohmann::basic_json<>; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; decltype (((std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_find_tr(__x)) = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:13498:41: required from 'nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::const_iterator nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::find(KeyT&&) const [with KeyT = const char (&)[8]; ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string<char>; BooleanType = bool; NumberIntegerType = long int; NumberUnsignedType = long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer; nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::const_iterator = nlohmann::detail::iter_impl<const nlohmann::basic_json<> >]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:120:31: required from here
/usr/include/c++/8/bits/stl_function.h:563:17: error: no matching function for call to 'std::less<void>::_S_cmp(const char [8], const std::__cxx11::basic_string<char>&, std::less<void>::__ptr_cmp<const char (&)[8], const std::__cxx11::basic_string<char>&>) const'
return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__ptr_cmp<_Tp, _Up>{});
~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/8/bits/stl_function.h:577:2: note: candidate: 'template<class _Tp, class _Up> static constexpr decltype(auto) std::less<void>::_S_cmp(_Tp&&, _Up&&, std::false_type)'
_S_cmp(_Tp&& __t, _Up&& __u, false_type)
^~~~~~
/usr/include/c++/8/bits/stl_function.h:577:2: note: template argument deduction/substitution failed:
/usr/include/c++/8/bits/stl_function.h:563:17: note: cannot convert 'std::less<void>::__ptr_cmp<const char (&)[8], const std::__cxx11::basic_string<char>&>{}' (type 'std::less<void>::__ptr_cmp<const char (&)[8], const std::__cxx11::basic_string<char>&>' {aka 'std::__and_<std::less<void>::__not_overloaded<const char (&)[8], const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, void>, std::is_convertible<const char (&)[8], const volatile void*>, std::is_convertible<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const volatile void*> >'}) to type 'std::false_type' {aka 'std::integral_constant<bool, false>'}
return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__ptr_cmp<_Tp, _Up>{});
~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/8/bits/stl_function.h:582:2: note: candidate: 'template<class _Tp, class _Up> static constexpr bool std::less<void>::_S_cmp(_Tp&&, _Up&&, std::true_type)'
_S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
^~~~~~
/usr/include/c++/8/bits/stl_function.h:582:2: note: template argument deduction/substitution failed:
/usr/include/c++/8/bits/stl_function.h:563:17: note: cannot convert 'std::less<void>::__ptr_cmp<const char (&)[8], const std::__cxx11::basic_string<char>&>{}' (type 'std::less<void>::__ptr_cmp<const char (&)[8], const std::__cxx11::basic_string<char>&>' {aka 'std::__and_<std::less<void>::__not_overloaded<const char (&)[8], const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, void>, std::is_convertible<const char (&)[8], const volatile void*>, std::is_convertible<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const volatile void*> >'}) to type 'std::true_type' {aka 'std::integral_constant<bool, true>'}
return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__ptr_cmp<_Tp, _Up>{});
~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/bits/move.h:55,
from /usr/include/c++/8/bits/stl_pair.h:59,
from /usr/include/c++/8/utility:70,
from /usr/include/c++/8/algorithm:60,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:36,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/type_traits: In instantiation of 'struct std::__and_<std::less<void>::__not_overloaded<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const char (&)[5], void>, std::is_convertible<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const volatile void*>, std::is_convertible<const char (&)[5], const volatile void*> >':
/usr/include/c++/8/bits/stl_function.h:563:17: required from 'constexpr decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) std::less<void>::operator()(_Tp&&, _Up&&) const [with _Tp = const std::__cxx11::basic_string<char>&; _Up = const char (&)[5]; decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) = bool]'
/usr/include/c++/8/bits/stl_tree.h:1275:10: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_lower_bound_tr(const _Kt&) const [with _Kt = char [5]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_tree.h:1240:9: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) const [with _Kt = char [5]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_tree.h:1231:41: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) [with _Kt = char [5]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_map.h:1176:30: required from 'decltype (((std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_find_tr(__x)) std::map<_Key, _Tp, _Compare, _Alloc>::find(const _Kt&) [with _Kt = char [5]; _Key = std::__cxx11::basic_string<char>; _Tp = nlohmann::basic_json<>; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; decltype (((std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_find_tr(__x)) = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:13498:41: required from 'nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::const_iterator nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::find(KeyT&&) const [with KeyT = const char (&)[5]; ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string<char>; BooleanType = bool; NumberIntegerType = long int; NumberUnsignedType = long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer; nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::const_iterator = nlohmann::detail::iter_impl<const nlohmann::basic_json<> >]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:85:28: required from here
/usr/include/c++/8/type_traits:148:12: error: ambiguous template instantiation for 'struct std::less<void>::__not_overloaded<const std::__cxx11::basic_string<char>&, const char (&)[5], void>'
struct __and_<_B1, _B2, _B3, _Bn...>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/functional:49,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:40,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/bits/stl_function.h:594:9: note: candidates are: 'template<class _Tp, class _Up> struct std::less<void>::__not_overloaded<_Tp, _Up, std::__void_t<decltype (std::operator<(declval<_Tp>(), declval<_Up>()))> > [with _Tp = const std::__cxx11::basic_string<char>&; _Up = const char (&)[5]]'
struct __not_overloaded<_Tp, _Up, __void_t<
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
decltype(operator<(std::declval<_Tp>(), std::declval<_Up>()))>>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/8/bits/stl_function.h:608:9: note: 'template<class _Tp, class _Up> struct std::less<void>::__not_overloaded<_Tp, _Up> [with _Tp = const std::__cxx11::basic_string<char>&; _Up = const char (&)[5]]'
struct __not_overloaded<_Tp, _Up> : __not_overloaded2<_Tp, _Up> { };
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/bits/move.h:55,
from /usr/include/c++/8/bits/stl_pair.h:59,
from /usr/include/c++/8/utility:70,
from /usr/include/c++/8/algorithm:60,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:36,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/type_traits:148:12: error: incomplete type 'std::less<void>::__not_overloaded<const std::__cxx11::basic_string<char>&, const char (&)[5], void>' used in nested name specifier
struct __and_<_B1, _B2, _B3, _Bn...>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/functional:49,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:40,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/bits/stl_function.h: In instantiation of 'constexpr decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) std::less<void>::operator()(_Tp&&, _Up&&) const [with _Tp = const std::__cxx11::basic_string<char>&; _Up = const char (&)[5]; decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) = bool]':
/usr/include/c++/8/bits/stl_tree.h:1275:10: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_lower_bound_tr(const _Kt&) const [with _Kt = char [5]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_tree.h:1240:9: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) const [with _Kt = char [5]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_tree.h:1231:41: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) [with _Kt = char [5]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_map.h:1176:30: required from 'decltype (((std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_find_tr(__x)) std::map<_Key, _Tp, _Compare, _Alloc>::find(const _Kt&) [with _Kt = char [5]; _Key = std::__cxx11::basic_string<char>; _Tp = nlohmann::basic_json<>; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; decltype (((std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_find_tr(__x)) = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:13498:41: required from 'nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::const_iterator nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::find(KeyT&&) const [with KeyT = const char (&)[5]; ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string<char>; BooleanType = bool; NumberIntegerType = long int; NumberUnsignedType = long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer; nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::const_iterator = nlohmann::detail::iter_impl<const nlohmann::basic_json<> >]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:85:28: required from here
/usr/include/c++/8/bits/stl_function.h:563:17: error: no matching function for call to 'std::less<void>::_S_cmp(const std::__cxx11::basic_string<char>&, const char [5], std::less<void>::__ptr_cmp<const std::__cxx11::basic_string<char>&, const char (&)[5]>) const'
return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__ptr_cmp<_Tp, _Up>{});
~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/8/bits/stl_function.h:577:2: note: candidate: 'template<class _Tp, class _Up> static constexpr decltype(auto) std::less<void>::_S_cmp(_Tp&&, _Up&&, std::false_type)'
_S_cmp(_Tp&& __t, _Up&& __u, false_type)
^~~~~~
/usr/include/c++/8/bits/stl_function.h:577:2: note: template argument deduction/substitution failed:
/usr/include/c++/8/bits/stl_function.h:563:17: note: cannot convert 'std::less<void>::__ptr_cmp<const std::__cxx11::basic_string<char>&, const char (&)[5]>{}' (type 'std::less<void>::__ptr_cmp<const std::__cxx11::basic_string<char>&, const char (&)[5]>' {aka 'std::__and_<std::less<void>::__not_overloaded<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const char (&)[5], void>, std::is_convertible<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const volatile void*>, std::is_convertible<const char (&)[5], const volatile void*> >'}) to type 'std::false_type' {aka 'std::integral_constant<bool, false>'}
return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__ptr_cmp<_Tp, _Up>{});
~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/8/bits/stl_function.h:582:2: note: candidate: 'template<class _Tp, class _Up> static constexpr bool std::less<void>::_S_cmp(_Tp&&, _Up&&, std::true_type)'
_S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
^~~~~~
/usr/include/c++/8/bits/stl_function.h:582:2: note: template argument deduction/substitution failed:
/usr/include/c++/8/bits/stl_function.h:563:17: note: cannot convert 'std::less<void>::__ptr_cmp<const std::__cxx11::basic_string<char>&, const char (&)[5]>{}' (type 'std::less<void>::__ptr_cmp<const std::__cxx11::basic_string<char>&, const char (&)[5]>' {aka 'std::__and_<std::less<void>::__not_overloaded<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const char (&)[5], void>, std::is_convertible<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const volatile void*>, std::is_convertible<const char (&)[5], const volatile void*> >'}) to type 'std::true_type' {aka 'std::integral_constant<bool, true>'}
return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__ptr_cmp<_Tp, _Up>{});
~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/bits/move.h:55,
from /usr/include/c++/8/bits/stl_pair.h:59,
from /usr/include/c++/8/utility:70,
from /usr/include/c++/8/algorithm:60,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:36,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/type_traits: In instantiation of 'struct std::__and_<std::less<void>::__not_overloaded<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const char (&)[8], void>, std::is_convertible<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const volatile void*>, std::is_convertible<const char (&)[8], const volatile void*> >':
/usr/include/c++/8/bits/stl_function.h:563:17: required from 'constexpr decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) std::less<void>::operator()(_Tp&&, _Up&&) const [with _Tp = const std::__cxx11::basic_string<char>&; _Up = const char (&)[8]; decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) = bool]'
/usr/include/c++/8/bits/stl_tree.h:1275:10: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_lower_bound_tr(const _Kt&) const [with _Kt = char [8]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_tree.h:1240:9: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) const [with _Kt = char [8]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_tree.h:1231:41: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) [with _Kt = char [8]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_map.h:1176:30: required from 'decltype (((std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_find_tr(__x)) std::map<_Key, _Tp, _Compare, _Alloc>::find(const _Kt&) [with _Kt = char [8]; _Key = std::__cxx11::basic_string<char>; _Tp = nlohmann::basic_json<>; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; decltype (((std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_find_tr(__x)) = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:13498:41: required from 'nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::const_iterator nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::find(KeyT&&) const [with KeyT = const char (&)[8]; ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string<char>; BooleanType = bool; NumberIntegerType = long int; NumberUnsignedType = long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer; nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::const_iterator = nlohmann::detail::iter_impl<const nlohmann::basic_json<> >]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:120:31: required from here
/usr/include/c++/8/type_traits:148:12: error: ambiguous template instantiation for 'struct std::less<void>::__not_overloaded<const std::__cxx11::basic_string<char>&, const char (&)[8], void>'
struct __and_<_B1, _B2, _B3, _Bn...>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/functional:49,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:40,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/bits/stl_function.h:594:9: note: candidates are: 'template<class _Tp, class _Up> struct std::less<void>::__not_overloaded<_Tp, _Up, std::__void_t<decltype (std::operator<(declval<_Tp>(), declval<_Up>()))> > [with _Tp = const std::__cxx11::basic_string<char>&; _Up = const char (&)[8]]'
struct __not_overloaded<_Tp, _Up, __void_t<
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
decltype(operator<(std::declval<_Tp>(), std::declval<_Up>()))>>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/8/bits/stl_function.h:608:9: note: 'template<class _Tp, class _Up> struct std::less<void>::__not_overloaded<_Tp, _Up> [with _Tp = const std::__cxx11::basic_string<char>&; _Up = const char (&)[8]]'
struct __not_overloaded<_Tp, _Up> : __not_overloaded2<_Tp, _Up> { };
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/bits/move.h:55,
from /usr/include/c++/8/bits/stl_pair.h:59,
from /usr/include/c++/8/utility:70,
from /usr/include/c++/8/algorithm:60,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:36,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/type_traits:148:12: error: incomplete type 'std::less<void>::__not_overloaded<const std::__cxx11::basic_string<char>&, const char (&)[8], void>' used in nested name specifier
struct __and_<_B1, _B2, _B3, _Bn...>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/functional:49,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:40,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/include/mtx/events.hpp:3,
from /builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:1:
/usr/include/c++/8/bits/stl_function.h: In instantiation of 'constexpr decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) std::less<void>::operator()(_Tp&&, _Up&&) const [with _Tp = const std::__cxx11::basic_string<char>&; _Up = const char (&)[8]; decltype ((forward<_Tp>(__t) < forward<_Up>(__u))) = bool]':
/usr/include/c++/8/bits/stl_tree.h:1275:10: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_lower_bound_tr(const _Kt&) const [with _Kt = char [8]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_tree.h:1240:9: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) const [with _Kt = char [8]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_tree.h:1231:41: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) [with _Kt = char [8]; _Req = void; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/usr/include/c++/8/bits/stl_map.h:1176:30: required from 'decltype (((std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_find_tr(__x)) std::map<_Key, _Tp, _Compare, _Alloc>::find(const _Kt&) [with _Kt = char [8]; _Key = std::__cxx11::basic_string<char>; _Tp = nlohmann::basic_json<>; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; decltype (((std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_find_tr(__x)) = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/deps/json.hpp:13498:41: required from 'nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::const_iterator nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::find(KeyT&&) const [with KeyT = const char (&)[8]; ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string<char>; BooleanType = bool; NumberIntegerType = long int; NumberUnsignedType = long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer; nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::const_iterator = nlohmann::detail::iter_impl<const nlohmann::basic_json<> >]'
/builddir/build/BUILD/nheko-480de2d30bcd82ed3beeab5fad9b2a55d34b4990/.third-party/matrix_structs/src/events.cpp:120:31: required from here
/usr/include/c++/8/bits/stl_function.h:563:17: error: no matching function for call to 'std::less<void>::_S_cmp(const std::__cxx11::basic_string<char>&, const char [8], std::less<void>::__ptr_cmp<const std::__cxx11::basic_string<char>&, const char (&)[8]>) const'
return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__ptr_cmp<_Tp, _Up>{});
~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/8/bits/stl_function.h:577:2: note: candidate: 'template<class _Tp, class _Up> static constexpr decltype(auto) std::less<void>::_S_cmp(_Tp&&, _Up&&, std::false_type)'
_S_cmp(_Tp&& __t, _Up&& __u, false_type)
^~~~~~
/usr/include/c++/8/bits/stl_function.h:577:2: note: template argument deduction/substitution failed:
/usr/include/c++/8/bits/stl_function.h:563:17: note: cannot convert 'std::less<void>::__ptr_cmp<const std::__cxx11::basic_string<char>&, const char (&)[8]>{}' (type 'std::less<void>::__ptr_cmp<const std::__cxx11::basic_string<char>&, const char (&)[8]>' {aka 'std::__and_<std::less<void>::__not_overloaded<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const char (&)[8], void>, std::is_convertible<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const volatile void*>, std::is_convertible<const char (&)[8], const volatile void*> >'}) to type 'std::false_type' {aka 'std::integral_constant<bool, false>'}
return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__ptr_cmp<_Tp, _Up>{});
~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/8/bits/stl_function.h:582:2: note: candidate: 'template<class _Tp, class _Up> static constexpr bool std::less<void>::_S_cmp(_Tp&&, _Up&&, std::true_type)'
_S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
^~~~~~
/usr/include/c++/8/bits/stl_function.h:582:2: note: template argument deduction/substitution failed:
/usr/include/c++/8/bits/stl_function.h:563:17: note: cannot convert 'std::less<void>::__ptr_cmp<const std::__cxx11::basic_string<char>&, const char (&)[8]>{}' (type 'std::less<void>::__ptr_cmp<const std::__cxx11::basic_string<char>&, const char (&)[8]>' {aka 'std::__and_<std::less<void>::__not_overloaded<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const char (&)[8], void>, std::is_convertible<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const volatile void*>, std::is_convertible<const char (&)[8], const volatile void*> >'}) to type 'std::true_type' {aka 'std::integral_constant<bool, true>'}
return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__ptr_cmp<_Tp, _Up>{});
~~~~~~~~~~~~~~~~~~~~~~
gmake[2]: *** [CMakeFiles/matrix_structs.dir/build.make:63: CMakeFiles/matrix_structs.dir/src/events.cpp.o] Error 1 Test results: gcc-result.txt |
Hmm... The same assertion error in GCC 8's |
I can report this to GCC bug tracker. |
That would be great. I think this is also the issue for the Clang error. |
Has been also reported on the debian side: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=893517 |
Thanks for reporting this! I shall close the issue as there is nothing wrong with the library. |
Version:
Trying to build latest commit of matrix-structs, but got this error:
The text was updated successfully, but these errors were encountered: