facebook / hermes

A JavaScript engine optimized for running React Native.
https://hermesengine.dev/
MIT License
9.66k stars 619 forks source link

Failed to build CLI on Linux #1461

Open marek-saji opened 1 month ago

marek-saji commented 1 month ago

Bug Description

FAILED: unittests/API/CMakeFiles/APITests.dir/__/__/API/hermes/inspector/chrome/tests/SerialExecutor.cpp.o 
/usr/bin/c++ -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_LANG_CXX11=1 -DHERMESVM_ALLOW_COMPRESSED_POINTERS -DHERMESVM_ALLOW_CONCURRENT_GC -DHERMESVM_ALLOW_CONTIGUOUS_HEAP -DHERMESVM_ALLOW_INLINE_ASM -DHERMESVM_GC_HADES -DHERMESVM_HEAP_SEGMENT_SIZE_KB=4096 -DHERMESVM_INDIRECT_THREADING -DHERMES_CHECK_NATIVE_STACK -DHERMES_ENABLE_DEBUGGER -DHERMES_MEMORY_INSTRUMENTATION -DHERMES_RELEASE_VERSION=\"0.12.0\" -DHERMES_SLOW_DEBUG -DUNIT_TEST -DWASM_RT_SKIP_SIGNAL_RECOVERY=1 -DWASM_RT_USE_STACK_DEPTH_COUNT=0 -I/home/saji/local/src/hermes/external -I/home/saji/local/src/hermes/external/flowparser/include -I/home/saji/local/src/hermes/include -I/home/saji/local/src/hermes/build/include -I/home/saji/local/src/hermes/external/llvh/include -I/home/saji/local/src/hermes/external/llvh/gen/include -I/home/saji/local/src/hermes/build/external/llvh/include -I/home/saji/local/src/hermes/external/llvh/utils/unittest/googletest/include -I/home/saji/local/src/hermes/external/llvh/utils/unittest/googlemock/include -I/home/saji/local/src/hermes/API/hermes/.. -I/home/saji/local/src/hermes/API/hermes/../../public -I/home/saji/local/src/hermes/API/jsi -I/home/saji/local/src/hermes/API/jsi/jsi/.. -I/home/saji/local/src/hermes/public/hermes/Public/../.. -I/home/saji/local/src/hermes/API/hermes_abi/.. -I/home/saji/local/src/hermes/API/hermes_sandbox/. -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -Wno-maybe-uninitialized -Wno-init-list-lifetime -Wno-redundant-move -Wno-deprecated-copy -Wno-class-memaccess -Wno-noexcept-type -Wdelete-non-virtual-dtor -ffp-contract=on -ffunction-sections -fdata-sections -fvisibility=hidden -Wno-sign-compare -g -std=c++17 -MD -MT unittests/API/CMakeFiles/APITests.dir/__/__/API/hermes/inspector/chrome/tests/SerialExecutor.cpp.o -MF unittests/API/CMakeFiles/APITests.dir/__/__/API/hermes/inspector/chrome/tests/SerialExecutor.cpp.o.d -o unittests/API/CMakeFiles/APITests.dir/__/__/API/hermes/inspector/chrome/tests/SerialExecutor.cpp.o -c /home/saji/local/src/hermes/API/hermes/inspector/chrome/tests/SerialExecutor.cpp
/home/saji/local/src/hermes/API/hermes/inspector/chrome/tests/SerialExecutor.cpp: In constructor ‘facebook::hermes::inspector_modern::chrome::SerialExecutor::SerialExecutor(size_t)’:
/home/saji/local/src/hermes/API/hermes/inspector/chrome/tests/SerialExecutor.cpp:22:16: error: ‘runtime_error’ is not a member of ‘std’
   22 |     throw std::runtime_error("Failed pthread_attr_init");
      |                ^~~~~~~~~~~~~
/home/saji/local/src/hermes/API/hermes/inspector/chrome/tests/SerialExecutor.cpp:9:1: note: ‘std::runtime_error’ is defined in header ‘<stdexcept>’; did you forget to ‘#include <stdexcept>’?
    8 | #include "SerialExecutor.h"
  +++ |+#include <stdexcept>
    9 | 
/home/saji/local/src/hermes/API/hermes/inspector/chrome/tests/SerialExecutor.cpp:28:18: error: ‘runtime_error’ is not a member of ‘std’
   28 |       throw std::runtime_error("Failed pthread_attr_setstacksize");
      |                  ^~~~~~~~~~~~~
/home/saji/local/src/hermes/API/hermes/inspector/chrome/tests/SerialExecutor.cpp:28:18: note: ‘std::runtime_error’ is defined in header ‘<stdexcept>’; did you forget to ‘#include <stdexcept>’?
/home/saji/local/src/hermes/API/hermes/inspector/chrome/tests/SerialExecutor.cpp:34:16: error: ‘runtime_error’ is not a member of ‘std’
   34 |     throw std::runtime_error("Failed pthread_create");
      |                ^~~~~~~~~~~~~
/home/saji/local/src/hermes/API/hermes/inspector/chrome/tests/SerialExecutor.cpp:34:16: note: ‘std::runtime_error’ is defined in header ‘<stdexcept>’; did you forget to ‘#include <stdexcept>’?
[743/767] Building CXX object unittests/API/CMakeFiles/APITests.dir/__/__/API/jsi/jsi/test/testlib.cpp.o
/home/saji/local/src/hermes/API/jsi/jsi/test/testlib.cpp: In member function ‘virtual void JSITest_PreparedJavaScriptURLInBacktrace_Test::TestBody()’:
/home/saji/local/src/hermes/API/jsi/jsi/test/testlib.cpp:961:35: warning: catching polymorphic type ‘class facebook::jsi::JSError’ by value [-Wcatch-value=]
  961 |   } catch (facebook::jsi::JSError err) {
      |                                   ^~~
[749/767] Building CXX object unittests/VMRuntime/CMakeFiles/HermesVMRuntimeTests.dir/StackTracesTreeTest.cpp.o
/home/saji/local/src/hermes/unittests/VMRuntime/StackTracesTreeTest.cpp:909:8: warning: multi-line comment [-Wcomment]
  909 | #endif // defined(HERMES_MEMORY_INSTRUMENTATION) && \
      |        ^
[751/767] Building CXX object unittests/API/CMakeFiles/A...dir/__/__/API/hermes/inspector/chrome/MessageTypes.cpp.o
ninja: build stopped: subcommand failed.

Hermes git revision: tried main (175d85f42), rn/0.75-stable (1edbe36ce), rn/0.74-stable (7bda0c267) React Native version: N/A OS: Linux Platform: x86_64

Steps To Reproduce

Followed instructions from README:

cmake -B build -G Ninja
cmake --build ./build
mattbfb commented 1 month ago

I believe this is no longer an issue in the current version of Hermes.

The file in the error (API/hermes/inspector/chrome/tests/SerialExecutor.cpp) no longer exists: https://github.com/facebook/hermes/tree/main/API/hermes/inspector/chrome/tests

The current equivalent no longer uses std::runtime_error: https://github.com/facebook/hermes/blob/175d85f42a61b48d561aeab82243d4f58eeb1129/lib/Support/SerialExecutor.cpp#L21

marek-saji commented 1 month ago

@mattbfb You are right — thought I’m getting a (different) error on current main:

FAILED: API/hermes/CMakeFiles/libhermes.dir/cdp/DomainState.cpp.o 
/usr/bin/c++ -DHERMESVM_ALLOW_COMPRESSED_POINTERS -DHERMESVM_ALLOW_CONCURRENT_GC -DHERMESVM_ALLOW_CONTIGUOUS_HEAP -DHERMESVM_ALLOW_INLINE_ASM -DHERMESVM_GC_HADES -DHERMESVM_HEAP_SEGMENT_SIZE_KB=4096 -DHERMESVM_INDIRECT_THREADING -DHERMES_CHECK_NATIVE_STACK -DHERMES_ENABLE_DEBUGGER -DHERMES_ENABLE_UNICODE_REGEXP_PROPERTY_ESCAPES -DHERMES_MEMORY_INSTRUMENTATION -DHERMES_RELEASE_VERSION=\"0.12.0\" -DHERMES_SLOW_DEBUG -Dlibhermes_EXPORTS -I/home/saji/local/src/hermes/external -I/home/saji/local/src/hermes/external/flowparser/include -I/home/saji/local/src/hermes/include -I/home/saji/local/src/hermes/build/include -I/home/saji/local/src/hermes/external/llvh/include -I/home/saji/local/src/hermes/external/llvh/gen/include -I/home/saji/local/src/hermes/build/external/llvh/include -I/home/saji/local/src/hermes/API/hermes/.. -I/home/saji/local/src/hermes/API/hermes/../../public -I/home/saji/local/src/hermes/API/jsi -I/home/saji/local/src/hermes/API/jsi/jsi/.. -I/home/saji/local/src/hermes/public/hermes/Public/../.. -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -Wno-maybe-uninitialized -Wno-init-list-lifetime -Wno-redundant-move -Wno-deprecated-copy -Wno-class-memaccess -Wno-noexcept-type -Wdelete-non-virtual-dtor -ffp-contract=on -ffunction-sections -fdata-sections -fvisibility=hidden -g -std=c++17 -fPIC -MD -MT API/hermes/CMakeFiles/libhermes.dir/cdp/DomainState.cpp.o -MF API/hermes/CMakeFiles/libhermes.dir/cdp/DomainState.cpp.o.d -o API/hermes/CMakeFiles/libhermes.dir/cdp/DomainState.cpp.o -c /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp
Full log ``` $ cmake --build ./build -j 1 [1/248] Building CXX object API/hermes/CMakeFiles/libhermes.dir/cdp/DomainState.cpp.o FAILED: API/hermes/CMakeFiles/libhermes.dir/cdp/DomainState.cpp.o /usr/bin/c++ -DHERMESVM_ALLOW_COMPRESSED_POINTERS -DHERMESVM_ALLOW_CONCURRENT_GC -DHERMESVM_ALLOW_CONTIGUOUS_HEAP -DHERMESVM_ALLOW_INLINE_ASM -DHERMESVM_GC_HADES -DHERMESVM_HEAP_SEGMENT_SIZE_KB=4096 -DHERMESVM_INDIRECT_THREADING -DHERMES_CHECK_NATIVE_STACK -DHERMES_ENABLE_DEBUGGER -DHERMES_ENABLE_UNICODE_REGEXP_PROPERTY_ESCAPES -DHERMES_MEMORY_INSTRUMENTATION -DHERMES_RELEASE_VERSION=\"0.12.0\" -DHERMES_SLOW_DEBUG -Dlibhermes_EXPORTS -I/home/saji/local/src/hermes/external -I/home/saji/local/src/hermes/external/flowparser/include -I/home/saji/local/src/hermes/include -I/home/saji/local/src/hermes/build/include -I/home/saji/local/src/hermes/external/llvh/include -I/home/saji/local/src/hermes/external/llvh/gen/include -I/home/saji/local/src/hermes/build/external/llvh/include -I/home/saji/local/src/hermes/API/hermes/.. -I/home/saji/local/src/hermes/API/hermes/../../public -I/home/saji/local/src/hermes/API/jsi -I/home/saji/local/src/hermes/API/jsi/jsi/.. -I/home/saji/local/src/hermes/public/hermes/Public/../.. -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -Wno-maybe-uninitialized -Wno-init-list-lifetime -Wno-redundant-move -Wno-deprecated-copy -Wno-class-memaccess -Wno-noexcept-type -Wdelete-non-virtual-dtor -ffp-contract=on -ffunction-sections -fdata-sections -fvisibility=hidden -g -std=c++17 -fPIC -MD -MT API/hermes/CMakeFiles/libhermes.dir/cdp/DomainState.cpp.o -MF API/hermes/CMakeFiles/libhermes.dir/cdp/DomainState.cpp.o.d -o API/hermes/CMakeFiles/libhermes.dir/cdp/DomainState.cpp.o -c /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp In file included from /usr/include/c++/13/bits/stl_tempbuf.h:62, from /usr/include/c++/13/memory:66, from /home/saji/local/src/hermes/API/hermes/cdp/DomainState.h:11, from /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp:8: /usr/include/c++/13/bits/stl_pair.h: In instantiation of ‘struct std::pair, std::unique_ptr >’: /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp:18:29: required from here /usr/include/c++/13/bits/stl_pair.h:193:11: error: ‘std::pair<_T1, _T2>::first’ has incomplete type 193 | _T1 first; ///< The first member | ^~~~~ In file included from /usr/include/c++/13/iosfwd:41, from /usr/include/c++/13/bits/shared_ptr.h:52, from /usr/include/c++/13/memory:80: /usr/include/c++/13/bits/stringfwd.h:72:11: note: declaration of ‘class std::__cxx11::basic_string’ 72 | class basic_string; | ^~~~~~~~~~~~ In file included from /usr/include/c++/13/bits/move.h:37, from /usr/include/c++/13/bits/new_allocator.h:36, from /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h:33, from /usr/include/c++/13/bits/allocator.h:46, from /usr/include/c++/13/memory:65: /usr/include/c++/13/type_traits: In instantiation of ‘struct std::is_copy_assignable >’: /usr/include/c++/13/type_traits:161:35: required by substitution of ‘template std::__detail::__first_t, typename std::enable_if<(bool)(_Bn::value), void>::type ...> std::__detail::__and_fn(int) [with _Bn = {std::is_copy_assignable, std::allocator > >, std::is_copy_assignable > >}]’ /usr/include/c++/13/type_traits:177:42: required from ‘struct std::__and_, std::allocator > >, std::is_copy_assignable > > >’ /usr/include/c++/13/bits/stl_pair.h:727:7: required from ‘struct std::pair, std::unique_ptr >’ /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp:18:29: required from here /usr/include/c++/13/type_traits:1167:52: error: static assertion failed: template argument must be a complete class or an unbounded array 1167 | static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/type_traits:1167:52: note: ‘std::__is_complete_or_unbounded<__type_identity > >((std::__type_identity >(), std::__type_identity >()))’ evaluates to false /usr/include/c++/13/type_traits: In instantiation of ‘struct std::is_move_assignable >’: /usr/include/c++/13/type_traits:161:35: required by substitution of ‘template std::__detail::__first_t, typename std::enable_if<(bool)(_Bn::value), void>::type ...> std::__detail::__and_fn(int) [with _Bn = {std::is_move_assignable, std::allocator > >, std::is_move_assignable > >}]’ /usr/include/c++/13/type_traits:177:42: required from ‘struct std::__and_, std::allocator > >, std::is_move_assignable > > >’ /usr/include/c++/13/bits/stl_pair.h:737:7: required from ‘struct std::pair, std::unique_ptr >’ /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp:18:29: required from here /usr/include/c++/13/type_traits:1176:52: error: static assertion failed: template argument must be a complete class or an unbounded array 1176 | static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/type_traits:1176:52: note: ‘std::__is_complete_or_unbounded<__type_identity > >((std::__type_identity >(), std::__type_identity >()))’ evaluates to false /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp: In member function ‘std::unique_ptr facebook::hermes::cdp::DomainState::getCopy(std::vector >)’: /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp:50:15: error: variable ‘std::string key’ has initializer but incomplete type 50 | std::string key = paths.back(); | ^~~ In file included from /usr/include/c++/13/cassert:44, from /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp:10: /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp: In member function ‘facebook::hermes::cdp::DictionaryStateValue* facebook::hermes::cdp::DomainState::getDict(const std::vector >&, bool)’: /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp:74:13: error: invalid use of incomplete type ‘const class std::__cxx11::basic_string’ 74 | assert(!path.empty() && "Strings in paths should not be empty strings"); | ^~~~ /usr/include/c++/13/bits/stringfwd.h:72:11: note: declaration of ‘class std::__cxx11::basic_string’ 72 | class basic_string; | ^~~~~~~~~~~~ /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp: In member function ‘void facebook::hermes::cdp::DomainState::commitTransaction(Transaction&)’: /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp:99:17: error: variable ‘std::string key’ has initializer but incomplete type 99 | std::string key = paths.back(); | ^~~ In file included from /usr/include/c++/13/memory:78: /usr/include/c++/13/bits/unique_ptr.h: In instantiation of ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = facebook::hermes::cdp::DictionaryStateValue; _Args = {}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t]’: /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp:17:53: required from here /usr/include/c++/13/bits/unique_ptr.h:1070:30: error: use of deleted function ‘facebook::hermes::cdp::DictionaryStateValue::DictionaryStateValue()’ 1070 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/saji/local/src/hermes/API/hermes/cdp/DomainState.h:43:8: note: ‘facebook::hermes::cdp::DictionaryStateValue::DictionaryStateValue()’ is implicitly deleted because the default definition would be ill-formed: 43 | struct DictionaryStateValue : public StateValue { | ^~~~~~~~~~~~~~~~~~~~ /home/saji/local/src/hermes/API/hermes/cdp/DomainState.h:43:8: error: use of deleted function ‘std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map() [with _Key = std::__cxx11::basic_string; _Tp = std::unique_ptr; _Hash = std::hash >; _Pred = std::equal_to >; _Alloc = std::allocator, std::unique_ptr > >]’ In file included from /usr/include/c++/13/unordered_map:41, from /home/saji/local/src/hermes/API/hermes/cdp/DomainState.h:14: /usr/include/c++/13/bits/unordered_map.h:148:7: note: ‘std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map() [with _Key = std::__cxx11::basic_string; _Tp = std::unique_ptr; _Hash = std::hash >; _Pred = std::equal_to >; _Alloc = std::allocator, std::unique_ptr > >]’ is implicitly deleted because the default definition would be ill-formed: 148 | unordered_map() = default; | ^~~~~~~~~~~~~ /usr/include/c++/13/bits/unordered_map.h:148:7: error: use of deleted function ‘std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::_Hashtable() [with _Key = std::__cxx11::basic_string; _Value = std::pair, std::unique_ptr >; _Alloc = std::allocator, std::unique_ptr > >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to >; _Hash = std::hash >; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits]’ In file included from /usr/include/c++/13/bits/unordered_map.h:33: /usr/include/c++/13/bits/hashtable.h:530:7: note: ‘std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::_Hashtable() [with _Key = std::__cxx11::basic_string; _Value = std::pair, std::unique_ptr >; _Alloc = std::allocator, std::unique_ptr > >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to >; _Hash = std::hash >; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits]’ is implicitly deleted because the default definition would be ill-formed: 530 | _Hashtable() = default; | ^~~~~~~~~~ /usr/include/c++/13/bits/hashtable.h:530:7: error: use of deleted function ‘std::__detail::_Hashtable_base<_Key, _Value, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _Traits>::_Hashtable_base() [with _Key = std::__cxx11::basic_string; _Value = std::pair, std::unique_ptr >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to >; _Hash = std::hash >; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _Traits = std::__detail::_Hashtable_traits]’ In file included from /usr/include/c++/13/bits/hashtable.h:35: /usr/include/c++/13/bits/hashtable_policy.h:1710:7: note: ‘std::__detail::_Hashtable_base<_Key, _Value, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _Traits>::_Hashtable_base() [with _Key = std::__cxx11::basic_string; _Value = std::pair, std::unique_ptr >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to >; _Hash = std::hash >; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _Traits = std::__detail::_Hashtable_traits]’ is implicitly deleted because the default definition would be ill-formed: 1710 | _Hashtable_base() = default; | ^~~~~~~~~~~~~~~ /usr/include/c++/13/bits/hashtable_policy.h:1710:7: error: use of deleted function ‘std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __cache_hash_code>::_Hash_code_base() [with _Key = std::__cxx11::basic_string; _Value = std::pair, std::unique_ptr >; _ExtractKey = std::__detail::_Select1st; _Hash = std::hash >; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; bool __cache_hash_code = true]’ /usr/include/c++/13/bits/hashtable_policy.h:1297:7: note: ‘std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __cache_hash_code>::_Hash_code_base() [with _Key = std::__cxx11::basic_string; _Value = std::pair, std::unique_ptr >; _ExtractKey = std::__detail::_Select1st; _Hash = std::hash >; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; bool __cache_hash_code = true]’ is implicitly deleted because the default definition would be ill-formed: 1297 | _Hash_code_base() = default; | ^~~~~~~~~~~~~~~ /usr/include/c++/13/bits/hashtable_policy.h:1297:7: error: use of deleted function ‘std::__detail::_Hashtable_ebo_helper<1, std::hash >, true>::~_Hashtable_ebo_helper()’ /usr/include/c++/13/bits/hashtable_policy.h:1211:12: note: ‘std::__detail::_Hashtable_ebo_helper<1, std::hash >, true>::~_Hashtable_ebo_helper()’ is implicitly deleted because the default definition would be ill-formed: 1211 | struct _Hashtable_ebo_helper<_Nm, _Tp, true> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/hashtable_policy.h:1211:12: error: use of deleted function ‘std::hash >::~hash()’ In file included from /usr/include/c++/13/bits/unique_ptr.h:38: /usr/include/c++/13/bits/functional_hash.h:102:12: note: ‘std::hash >::~hash()’ is implicitly deleted because the default definition would be ill-formed: 102 | struct hash : __hash_enum<_Tp> | ^~~~ /usr/include/c++/13/bits/functional_hash.h:102:12: error: ‘std::__hash_enum<_Tp, >::~__hash_enum() [with _Tp = std::__cxx11::basic_string; bool = false]’ is private within this context /usr/include/c++/13/bits/functional_hash.h:84:7: note: declared private here 84 | ~__hash_enum(); | ^ /usr/include/c++/13/bits/hashtable_policy.h:1710:7: error: use of deleted function ‘std::__detail::_Hash_code_base, std::pair, std::unique_ptr >, std::__detail::_Select1st, std::hash >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::~_Hash_code_base()’ 1710 | _Hashtable_base() = default; | ^~~~~~~~~~~~~~~ /usr/include/c++/13/bits/hashtable_policy.h:1275:12: note: ‘std::__detail::_Hash_code_base, std::pair, std::unique_ptr >, std::__detail::_Select1st, std::hash >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::~_Hash_code_base()’ is implicitly deleted because the default definition would be ill-formed: 1275 | struct _Hash_code_base | ^~~~~~~~~~~~~~~ /usr/include/c++/13/bits/hashtable_policy.h:1275:12: error: use of deleted function ‘std::__detail::_Hashtable_ebo_helper<1, std::hash >, true>::~_Hashtable_ebo_helper()’ /usr/include/c++/13/bits/hashtable.h:530:7: error: use of deleted function ‘std::__detail::_Hashtable_base, std::pair, std::unique_ptr >, std::__detail::_Select1st, std::equal_to >, std::hash >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::~_Hashtable_base()’ 530 | _Hashtable() = default; | ^~~~~~~~~~ /usr/include/c++/13/bits/hashtable_policy.h:1667:12: note: ‘std::__detail::_Hashtable_base, std::pair, std::unique_ptr >, std::__detail::_Select1st, std::equal_to >, std::hash >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::~_Hashtable_base()’ is implicitly deleted because the default definition would be ill-formed: 1667 | struct _Hashtable_base | ^~~~~~~~~~~~~~~ /usr/include/c++/13/bits/hashtable_policy.h:1667:12: error: use of deleted function ‘std::__detail::_Hash_code_base, std::pair, std::unique_ptr >, std::__detail::_Select1st, std::hash >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::~_Hash_code_base()’ /usr/include/c++/13/bits/hashtable.h:530:7: error: use of deleted function ‘constexpr std::_Enable_default_constructor::_Enable_default_constructor() [with _Tag = std::__detail::_Hash_node_base]’ 530 | _Hashtable() = default; | ^~~~~~~~~~ In file included from /usr/include/c++/13/optional:41, from /home/saji/local/src/hermes/API/hermes/cdp/DomainState.h:13: /usr/include/c++/13/bits/enable_special_members.h:113:15: note: declared here 113 | constexpr _Enable_default_constructor() noexcept = delete; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/13/vector:66, from /home/saji/local/src/hermes/API/hermes/cdp/DomainState.h:15: /usr/include/c++/13/bits/stl_vector.h: In instantiation of ‘void std::vector<_Tp, _Alloc>::pop_back() [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >]’: /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp:52:17: required from here /usr/include/c++/13/bits/stl_vector.h:1322:25: error: cannot decrement a pointer to incomplete type ‘std::__cxx11::basic_string’ 1322 | --this->_M_impl._M_finish; | ~~~~~~~~~~~~~~^~~~~~~~~ In file included from /usr/include/c++/13/bits/stl_algobase.h:67, from /usr/include/c++/13/bits/stl_uninitialized.h:63, from /usr/include/c++/13/memory:69: /usr/include/c++/13/bits/stl_iterator.h: In instantiation of ‘__gnu_cxx::__normal_iterator<_Iterator, _Container>& __gnu_cxx::__normal_iterator<_Iterator, _Container>::operator++() [with _Iterator = const std::__cxx11::basic_string*; _Container = std::vector >]’: /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp:73:21: required from here /usr/include/c++/13/bits/stl_iterator.h:1111:11: error: cannot increment a pointer to incomplete type ‘const std::__cxx11::basic_string’ 1111 | ++_M_current; | ^~~~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h: In instantiation of ‘__gnu_cxx::__normal_iterator<_Iterator, _Container> __gnu_cxx::__normal_iterator<_Iterator, _Container>::operator-(difference_type) const [with _Iterator = std::__cxx11::basic_string*; _Container = std::vector >; difference_type = long int]’: /usr/include/c++/13/bits/stl_vector.h:1233:17: required from ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::back() [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >; reference = std::__cxx11::basic_string&]’ /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp:50:31: required from here /usr/include/c++/13/bits/stl_iterator.h:1158:45: error: invalid use of incomplete type ‘class std::__cxx11::basic_string’ 1158 | { return __normal_iterator(_M_current - __n); } | ~~~~~~~~~~~^~~~~ /usr/include/c++/13/bits/stringfwd.h:72:11: note: declaration of ‘class std::__cxx11::basic_string’ 72 | class basic_string; | ^~~~~~~~~~~~ /usr/include/c++/13/bits/stl_vector.h: In instantiation of ‘std::_Vector_base<_Tp, _Alloc>::~_Vector_base() [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >]’: /usr/include/c++/13/bits/stl_vector.h:735:7: required from ‘std::vector<_Tp, _Alloc>::~vector() [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >]’ /usr/include/c++/13/bits/stl_pair.h:187:12: required from here /usr/include/c++/13/bits/stl_vector.h:367:49: error: invalid use of incomplete type ‘class std::__cxx11::basic_string’ 367 | _M_impl._M_end_of_storage - _M_impl._M_start); | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/stringfwd.h:72:11: note: declaration of ‘class std::__cxx11::basic_string’ 72 | class basic_string; | ^~~~~~~~~~~~ /usr/include/c++/13/bits/hashtable.h: In instantiation of ‘std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::~_Hashtable() [with _Key = std::__cxx11::basic_string; _Value = std::pair, std::unique_ptr >; _Alloc = std::allocator, std::unique_ptr > >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to >; _Hash = std::hash >; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits]’: /usr/include/c++/13/bits/unordered_map.h:109:11: required from ‘void std::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = facebook::hermes::cdp::DictionaryStateValue]’ /usr/include/c++/13/bits/unique_ptr.h:404:17: required from ‘std::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = facebook::hermes::cdp::DictionaryStateValue; _Dp = std::default_delete]’ /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp:17:53: required from here /usr/include/c++/13/bits/hashtable.h:1595:5: error: use of deleted function ‘std::__detail::_Hashtable_base, std::pair, std::unique_ptr >, std::__detail::_Select1st, std::equal_to >, std::hash >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::~_Hashtable_base()’ 1595 | } | ^ /usr/include/c++/13/bits/hashtable.h:1587:21: error: static assertion failed: Cache the hash code or qualify your functors involved in hash code and bucket index computation with noexcept 1587 | static_assert(noexcept(declval() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1588 | ._M_bucket_index(declval(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1589 | (std::size_t)0)), | ~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/hashtable.h:1587:21: note: ‘false’ evaluates to false /usr/include/c++/13/bits/hashtable_policy.h: In instantiation of ‘std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __cache_hash_code>::__hash_code std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __cache_hash_code>::_M_hash_code(const _Key&) const [with _Key = std::__cxx11::basic_string; _Value = std::pair, std::unique_ptr >; _ExtractKey = std::__detail::_Select1st; _Hash = std::hash >; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; bool __cache_hash_code = true; __hash_code = long unsigned int]’: /usr/include/c++/13/bits/hashtable_policy.h:809:45: required from ‘std::__detail::_Map_base<_Key, std::pair, _Alloc, std::__detail::_Select1st, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::mapped_type& std::__detail::_Map_base<_Key, std::pair, _Alloc, std::__detail::_Select1st, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::operator[](const key_type&) [with _Key = std::__cxx11::basic_string; _Val = std::unique_ptr; _Alloc = std::allocator, std::unique_ptr > >; _Equal = std::equal_to >; _Hash = std::hash >; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits; mapped_type = std::unique_ptr; key_type = std::__cxx11::basic_string]’ /usr/include/c++/13/bits/unordered_map.h:987:20: required from ‘std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::mapped_type& std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator[](const key_type&) [with _Key = std::__cxx11::basic_string; _Tp = std::unique_ptr; _Hash = std::hash >; _Pred = std::equal_to >; _Alloc = std::allocator, std::unique_ptr > >; mapped_type = std::unique_ptr; key_type = std::__cxx11::basic_string]’ /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp:20:21: required from here /usr/include/c++/13/bits/hashtable_policy.h:1304:23: error: static assertion failed: hash function must be invocable with an argument of key type 1304 | static_assert(__is_invocable{}, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/hashtable_policy.h:1304:23: note: ‘std::__is_invocable >&, const std::__cxx11::basic_string, std::allocator >&>()’ evaluates to false /usr/include/c++/13/bits/hashtable_policy.h:1306:25: error: no match for call to ‘(const std::hash >) (const std::__cxx11::basic_string&)’ 1306 | return _M_hash()(__k); | ~~~~~~~~~^~~~~ /usr/include/c++/13/type_traits: In instantiation of ‘struct std::is_destructible >’: /usr/include/c++/13/bits/stl_construct.h:188:51: required from ‘void std::_Destroy(_ForwardIterator, _ForwardIterator) [with _ForwardIterator = __cxx11::basic_string*]’ /usr/include/c++/13/bits/alloc_traits.h:947:20: required from ‘void std::_Destroy(_ForwardIterator, _ForwardIterator, allocator<_T2>&) [with _ForwardIterator = __cxx11::basic_string*; _Tp = __cxx11::basic_string]’ /usr/include/c++/13/bits/stl_vector.h:732:15: required from ‘std::vector<_Tp, _Alloc>::~vector() [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >]’ /usr/include/c++/13/bits/stl_pair.h:187:12: required from here /usr/include/c++/13/type_traits:979:52: error: static assertion failed: template argument must be a complete class or an unbounded array 979 | static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/type_traits:979:52: note: ‘std::__is_complete_or_unbounded<__type_identity<__cxx11::basic_string > >((std::__type_identity >(), std::__type_identity >()))’ evaluates to false In file included from /usr/include/c++/13/bits/stl_tempbuf.h:61: /usr/include/c++/13/bits/stl_construct.h: In instantiation of ‘void std::_Destroy(_ForwardIterator, _ForwardIterator) [with _ForwardIterator = __cxx11::basic_string*]’: /usr/include/c++/13/bits/alloc_traits.h:947:20: required from ‘void std::_Destroy(_ForwardIterator, _ForwardIterator, allocator<_T2>&) [with _ForwardIterator = __cxx11::basic_string*; _Tp = __cxx11::basic_string]’ /usr/include/c++/13/bits/stl_vector.h:732:15: required from ‘std::vector<_Tp, _Alloc>::~vector() [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >]’ /usr/include/c++/13/bits/stl_pair.h:187:12: required from here /usr/include/c++/13/bits/stl_construct.h:188:51: error: static assertion failed: value type is destructible 188 | static_assert(is_destructible<_Value_type>::value, | ^~~~~ /usr/include/c++/13/bits/stl_construct.h:188:51: note: ‘std::integral_constant::value’ evaluates to false /usr/include/c++/13/bits/stl_construct.h:195:25: error: invalid use of incomplete type ‘std::iterator_traits*>::value_type’ {aka ‘class std::__cxx11::basic_string’} [-fpermissive] 195 | std::_Destroy_aux<__has_trivial_destructor(_Value_type)>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/stringfwd.h:72:11: note: declaration of ‘std::iterator_traits*>::value_type’ {aka ‘class std::__cxx11::basic_string’} 72 | class basic_string; | ^~~~~~~~~~~~ In file included from /usr/include/c++/13/bits/unique_ptr.h:37: /usr/include/c++/13/bits/stl_function.h: In instantiation of ‘constexpr bool std::equal_to<_Tp>::operator()(const _Tp&, const _Tp&) const [with _Tp = std::__cxx11::basic_string]’: /usr/include/c++/13/bits/hashtable_policy.h:1724:16: required from ‘bool std::__detail::_Hashtable_base<_Key, _Value, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _Traits>::_M_key_equals(const _Key&, const std::__detail::_Hash_node_value<_Value, typename _Traits::__hash_cached::value>&) const [with _Key = std::__cxx11::basic_string; _Value = std::pair, std::unique_ptr >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to >; _Hash = std::hash >; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _Traits = std::__detail::_Hashtable_traits; typename _Traits::__hash_cached = std::__detail::_Hashtable_traits::__hash_cached]’ /usr/include/c++/13/bits/hashtable.h:1657:29: required from ‘std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::iterator std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::find(const key_type&) [with _Key = std::__cxx11::basic_string; _Value = std::pair, std::unique_ptr >; _Alloc = std::allocator, std::unique_ptr > >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to >; _Hash = std::hash >; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits; iterator = std::__detail::_Insert_base, std::pair, std::unique_ptr >, std::allocator, std::unique_ptr > >, std::__detail::_Select1st, std::equal_to >, std::hash >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::iterator; key_type = std::__cxx11::basic_string]’ /usr/include/c++/13/bits/unordered_map.h:876:25: required from ‘std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::iterator std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::find(const key_type&) [with _Key = std::__cxx11::basic_string; _Tp = std::unique_ptr; _Hash = std::hash >; _Pred = std::equal_to >; _Alloc = std::allocator, std::unique_ptr > >; iterator = std::__detail::_Insert_base, std::pair, std::unique_ptr >, std::allocator, std::unique_ptr > >, std::__detail::_Select1st, std::equal_to >, std::hash >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::iterator; key_type = std::__cxx11::basic_string]’ /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp:75:26: required from here /usr/include/c++/13/bits/stl_function.h:378:20: error: no match for ‘operator==’ (operand types are ‘const std::__cxx11::basic_string’ and ‘const std::__cxx11::basic_string’) 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/bits/allocator.h:237:5: note: candidate: ‘template bool std::operator==(const allocator<_Tp1>&, const allocator<_T2>&)’ 237 | operator==(const allocator<_T1>&, const allocator<_T2>&) | ^~~~~~~~ /usr/include/c++/13/bits/allocator.h:237:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::allocator<_Tp1>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/bits/stl_pair.h:812:5: note: candidate: ‘template constexpr bool std::operator==(const pair<_T1, _T2>&, const pair<_T1, _T2>&)’ 812 | operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | ^~~~~~~~ /usr/include/c++/13/bits/stl_pair.h:812:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::pair<_T1, _T2>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/bits/stl_iterator.h:448:5: note: candidate: ‘template constexpr bool std::operator==(const reverse_iterator<_Iterator>&, const reverse_iterator<_Iterator>&)’ 448 | operator==(const reverse_iterator<_Iterator>& __x, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:448:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::reverse_iterator<_Iterator>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/bits/stl_iterator.h:493:5: note: candidate: ‘template constexpr bool std::operator==(const reverse_iterator<_Iterator>&, const reverse_iterator<_IteratorR>&)’ 493 | operator==(const reverse_iterator<_IteratorL>& __x, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:493:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::reverse_iterator<_Iterator>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1678:5: note: candidate: ‘template constexpr bool std::operator==(const move_iterator<_IteratorL>&, const move_iterator<_IteratorR>&)’ 1678 | operator==(const move_iterator<_IteratorL>& __x, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1678:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::move_iterator<_IteratorL>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1748:5: note: candidate: ‘template constexpr bool std::operator==(const move_iterator<_IteratorL>&, const move_iterator<_IteratorL>&)’ 1748 | operator==(const move_iterator<_Iterator>& __x, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1748:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::move_iterator<_IteratorL>’ 378 | { return __x == __y; } | ~~~~^~~~~~ In file included from /usr/include/c++/13/bits/unique_ptr.h:36: /usr/include/c++/13/tuple:1905:5: note: candidate: ‘template constexpr bool std::operator==(const tuple<_UTypes ...>&, const tuple<_UTypes ...>&)’ 1905 | operator==(const tuple<_TElements...>& __t, | ^~~~~~~~ /usr/include/c++/13/tuple:1905:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::tuple<_UTypes ...>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/bits/new_allocator.h:211:9: note: candidate: ‘template bool std::operator==(const __new_allocator&, const __new_allocator<_Tp>&)’ 211 | operator==(const __new_allocator&, const __new_allocator<_Up>&) | ^~~~~~~~ /usr/include/c++/13/bits/new_allocator.h:211:9: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::__new_allocator<_Tp>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/bits/stl_vector.h:2037:5: note: candidate: ‘template bool std::operator==(const vector<_Tp, _Alloc>&, const vector<_Tp, _Alloc>&)’ 2037 | operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) | ^~~~~~~~ /usr/include/c++/13/bits/stl_vector.h:2037:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::vector<_Tp, _Alloc>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/bits/unordered_map.h:2157:5: note: candidate: ‘template bool std::operator==(const unordered_multimap<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&, const unordered_multimap<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&)’ 2157 | operator==(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, | ^~~~~~~~ /usr/include/c++/13/bits/unordered_map.h:2157:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::unordered_multimap<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/bits/unordered_map.h:2143:5: note: candidate: ‘template bool std::operator==(const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&, const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&)’ 2143 | operator==(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, | ^~~~~~~~ /usr/include/c++/13/bits/unordered_map.h:2143:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/optional:1356:5: note: candidate: ‘template constexpr std::__optional_eq_t<_Up, _Tp> std::operator==(const _Up&, const optional<_Tp>&)’ 1356 | operator==(const _Up& __lhs, const optional<_Tp>& __rhs) | ^~~~~~~~ /usr/include/c++/13/optional:1356:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::optional<_Tp>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/optional:1350:5: note: candidate: ‘template constexpr std::__optional_eq_t<_Tp, _Up> std::operator==(const optional<_Tp>&, const _Up&)’ 1350 | operator==(const optional<_Tp>& __lhs, const _Up& __rhs) | ^~~~~~~~ /usr/include/c++/13/optional:1350:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::optional<_Tp>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/optional:1293:5: note: candidate: ‘template constexpr bool std::operator==(nullopt_t, const optional<_Tp>&)’ 1293 | operator==(nullopt_t, const optional<_Tp>& __rhs) noexcept | ^~~~~~~~ /usr/include/c++/13/optional:1293:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::optional<_Tp>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/optional:1282:5: note: candidate: ‘template constexpr bool std::operator==(const optional<_Tp>&, nullopt_t)’ 1282 | operator==(const optional<_Tp>& __lhs, nullopt_t) noexcept | ^~~~~~~~ /usr/include/c++/13/optional:1282:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::optional<_Tp>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/optional:1222:5: note: candidate: ‘template constexpr std::__optional_eq_t<_Tp, _Up> std::operator==(const optional<_Tp>&, const optional<_Up>&)’ 1222 | operator==(const optional<_Tp>& __lhs, const optional<_Up>& __rhs) | ^~~~~~~~ /usr/include/c++/13/optional:1222:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::optional<_Tp>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/bits/shared_ptr.h:582:5: note: candidate: ‘template bool std::operator==(nullptr_t, const shared_ptr<_Tp>&)’ 582 | operator==(nullptr_t, const shared_ptr<_Tp>& __a) noexcept | ^~~~~~~~ /usr/include/c++/13/bits/shared_ptr.h:582:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::shared_ptr<_Tp>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/bits/shared_ptr.h:561:5: note: candidate: ‘template bool std::operator==(const shared_ptr<_Tp>&, nullptr_t)’ 561 | operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept | ^~~~~~~~ /usr/include/c++/13/bits/shared_ptr.h:561:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::shared_ptr<_Tp>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/bits/shared_ptr.h:555:5: note: candidate: ‘template bool std::operator==(const shared_ptr<_Tp>&, const shared_ptr<_Tp>&)’ 555 | operator==(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept | ^~~~~~~~ /usr/include/c++/13/bits/shared_ptr.h:555:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::shared_ptr<_Tp>’ 378 | { return __x == __y; } | ~~~~^~~~~~ In file included from /usr/include/c++/13/bits/shared_ptr.h:53: /usr/include/c++/13/bits/shared_ptr_base.h:1819:5: note: candidate: ‘template bool std::operator==(nullptr_t, const __shared_ptr<_Tp, _Lp>&)’ 1819 | operator==(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept | ^~~~~~~~ /usr/include/c++/13/bits/shared_ptr_base.h:1819:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::__shared_ptr<_Tp, _Lp>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/bits/shared_ptr_base.h:1799:5: note: candidate: ‘template bool std::operator==(const __shared_ptr<_Tp, _Lp>&, nullptr_t)’ 1799 | operator==(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept | ^~~~~~~~ /usr/include/c++/13/bits/shared_ptr_base.h:1799:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::__shared_ptr<_Tp, _Lp>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/bits/shared_ptr_base.h:1793:5: note: candidate: ‘template bool std::operator==(const __shared_ptr<_Tp1, _Lp>&, const __shared_ptr<_Tp2, _Lp>&)’ 1793 | operator==(const __shared_ptr<_Tp1, _Lp>& __a, | ^~~~~~~~ /usr/include/c++/13/bits/shared_ptr_base.h:1793:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::__shared_ptr<_Tp1, _Lp>’ 378 | { return __x == __y; } | ~~~~^~~~~~ In file included from /usr/include/c++/13/iosfwd:42: /usr/include/c++/13/bits/postypes.h:192:5: note: candidate: ‘template bool std::operator==(const fpos<_StateT>&, const fpos<_StateT>&)’ 192 | operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) | ^~~~~~~~ /usr/include/c++/13/bits/postypes.h:192:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::fpos<_StateT>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/bits/unique_ptr.h:845:5: note: candidate: ‘template bool std::operator==(nullptr_t, const unique_ptr<_Tp, _Dp>&)’ 845 | operator==(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept | ^~~~~~~~ /usr/include/c++/13/bits/unique_ptr.h:845:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/bits/unique_ptr.h:837:5: note: candidate: ‘template bool std::operator==(const unique_ptr<_Tp, _Dp>&, nullptr_t)’ 837 | operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept | ^~~~~~~~ /usr/include/c++/13/bits/unique_ptr.h:837:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/bits/unique_ptr.h:829:5: note: candidate: ‘template bool std::operator==(const unique_ptr<_Tp, _Dp>&, const unique_ptr<_Up, _Ep>&)’ 829 | operator==(const unique_ptr<_Tp, _Dp>& __x, | ^~~~~~~~ /usr/include/c++/13/bits/unique_ptr.h:829:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_function.h:378:20: note: ‘const std::__cxx11::basic_string’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’ 378 | { return __x == __y; } | ~~~~^~~~~~ /usr/include/c++/13/bits/allocator.h:216:7: note: candidate: ‘bool std::operator==(const allocator&, const allocator&)’ 216 | operator==(const allocator&, const allocator&) _GLIBCXX_NOTHROW | ^~~~~~~~ /usr/include/c++/13/bits/allocator.h:216:18: note: no known conversion for argument 1 from ‘const std::__cxx11::basic_string’ to ‘const std::allocator&’ 216 | operator==(const allocator&, const allocator&) _GLIBCXX_NOTHROW | ^~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/stl_vector.h: In instantiation of ‘std::vector<_Tp, _Alloc>::size_type std::vector<_Tp, _Alloc>::size() const [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >; size_type = long unsigned int]’: /usr/include/c++/13/bits/stl_vector.h:599:19: required from ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >]’ /usr/include/c++/13/bits/stl_pair.h:688:4: required from ‘constexpr std::pair<_T1, _T2>::pair(_U1&&, _U2&&) [with _U1 = std::vector >&; _U2 = std::unique_ptr; typename std::enable_if<(std::_PCC::_MoveConstructiblePair<_U1, _U2>() && std::_PCC::_ImplicitlyMoveConvertiblePair<_U1, _U2>()), bool>::type = true; _T1 = std::vector >; _T2 = std::unique_ptr]’ /usr/include/c++/13/bits/stl_pair.h:927:14: required from ‘constexpr std::pair::type>::__type, typename std::__strip_reference_wrapper::type>::__type> std::make_pair(_T1&&, _T2&&) [with _T1 = vector<__cxx11::basic_string >&; _T2 = unique_ptr; typename __strip_reference_wrapper::type>::__type = vector<__cxx11::basic_string >; typename decay<_Tp>::type = vector<__cxx11::basic_string >; typename __strip_reference_wrapper::type>::__type = unique_ptr; typename decay<_Tp2>::type = unique_ptr]’ /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp:124:42: required from here /usr/include/c++/13/bits/stl_vector.h:990:50: error: invalid use of incomplete type ‘class std::__cxx11::basic_string’ 990 | { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); } | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/stringfwd.h:72:11: note: declaration of ‘class std::__cxx11::basic_string’ 72 | class basic_string; | ^~~~~~~~~~~~ /usr/include/c++/13/bits/stl_vector.h: In instantiation of ‘void std::_Vector_base<_Tp, _Alloc>::_M_create_storage(std::size_t) [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >; std::size_t = long unsigned int]’: /usr/include/c++/13/bits/stl_vector.h:332:9: required from ‘std::_Vector_base<_Tp, _Alloc>::_Vector_base(std::size_t, const allocator_type&) [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >; std::size_t = long unsigned int; allocator_type = std::allocator >]’ /usr/include/c++/13/bits/stl_vector.h:600:61: required from ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >]’ /usr/include/c++/13/bits/stl_pair.h:688:4: required from ‘constexpr std::pair<_T1, _T2>::pair(_U1&&, _U2&&) [with _U1 = std::vector >&; _U2 = std::unique_ptr; typename std::enable_if<(std::_PCC::_MoveConstructiblePair<_U1, _U2>() && std::_PCC::_ImplicitlyMoveConvertiblePair<_U1, _U2>()), bool>::type = true; _T1 = std::vector >; _T2 = std::unique_ptr]’ /usr/include/c++/13/bits/stl_pair.h:927:14: required from ‘constexpr std::pair::type>::__type, typename std::__strip_reference_wrapper::type>::__type> std::make_pair(_T1&&, _T2&&) [with _T1 = vector<__cxx11::basic_string >&; _T2 = unique_ptr; typename __strip_reference_wrapper::type>::__type = vector<__cxx11::basic_string >; typename decay<_Tp>::type = vector<__cxx11::basic_string >; typename __strip_reference_wrapper::type>::__type = unique_ptr; typename decay<_Tp2>::type = unique_ptr]’ /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp:124:42: required from here /usr/include/c++/13/bits/stl_vector.h:397:66: error: invalid use of incomplete type ‘class std::__cxx11::basic_string’ 397 | this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/13/bits/stringfwd.h:72:11: note: declaration of ‘class std::__cxx11::basic_string’ 72 | class basic_string; | ^~~~~~~~~~~~ /usr/include/c++/13/bits/stl_uninitialized.h: In instantiation of ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator*, vector<__cxx11::basic_string > >; _ForwardIterator = __cxx11::basic_string*]’: /usr/include/c++/13/bits/stl_uninitialized.h:373:37: required from ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator*, vector<__cxx11::basic_string > >; _ForwardIterator = __cxx11::basic_string*; _Tp = __cxx11::basic_string]’ /usr/include/c++/13/bits/stl_vector.h:603:31: required from ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >]’ /usr/include/c++/13/bits/stl_pair.h:688:4: required from ‘constexpr std::pair<_T1, _T2>::pair(_U1&&, _U2&&) [with _U1 = std::vector >&; _U2 = std::unique_ptr; typename std::enable_if<(std::_PCC::_MoveConstructiblePair<_U1, _U2>() && std::_PCC::_ImplicitlyMoveConvertiblePair<_U1, _U2>()), bool>::type = true; _T1 = std::vector >; _T2 = std::unique_ptr]’ /usr/include/c++/13/bits/stl_pair.h:927:14: required from ‘constexpr std::pair::type>::__type, typename std::__strip_reference_wrapper::type>::__type> std::make_pair(_T1&&, _T2&&) [with _T1 = vector<__cxx11::basic_string >&; _T2 = unique_ptr; typename __strip_reference_wrapper::type>::__type = vector<__cxx11::basic_string >; typename decay<_Tp>::type = vector<__cxx11::basic_string >; typename __strip_reference_wrapper::type>::__type = unique_ptr; typename decay<_Tp2>::type = unique_ptr]’ /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp:124:42: required from here /usr/include/c++/13/bits/stl_uninitialized.h:174:34: error: invalid use of incomplete type ‘_ValueType1’ {aka ‘class std::__cxx11::basic_string’} [-fpermissive] 174 | const bool __can_memmove = __is_trivial(_ValueType1); | ^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/stringfwd.h:72:11: note: declaration of ‘_ValueType1’ {aka ‘class std::__cxx11::basic_string’} 72 | class basic_string; | ^~~~~~~~~~~~ /usr/include/c++/13/bits/stl_uninitialized.h:182:11: error: invalid use of incomplete type ‘_ValueType2’ {aka ‘class std::__cxx11::basic_string’} [-fpermissive] 182 | = _GLIBCXX_USE_ASSIGN_FOR_INIT(_ValueType2, _From); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/stringfwd.h:72:11: note: declaration of ‘_ValueType2’ {aka ‘class std::__cxx11::basic_string’} 72 | class basic_string; | ^~~~~~~~~~~~ /usr/include/c++/13/bits/new_allocator.h: In instantiation of ‘void std::__new_allocator<_Tp>::deallocate(_Tp*, size_type) [with _Tp = std::__cxx11::basic_string; size_type = long unsigned int]’: /usr/include/c++/13/bits/alloc_traits.h:516:23: required from ‘static void std::allocator_traits >::deallocate(allocator_type&, pointer, size_type) [with _Tp = std::__cxx11::basic_string; allocator_type = std::allocator >; pointer = std::__cxx11::basic_string*; size_type = long unsigned int]’ /usr/include/c++/13/bits/stl_vector.h:387:19: required from ‘void std::_Vector_base<_Tp, _Alloc>::_M_deallocate(pointer, std::size_t) [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >; pointer = std::__cxx11::basic_string*; std::size_t = long unsigned int]’ /usr/include/c++/13/bits/stl_vector.h:366:2: required from ‘std::_Vector_base<_Tp, _Alloc>::~_Vector_base() [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >]’ /usr/include/c++/13/bits/stl_vector.h:735:7: required from ‘std::vector<_Tp, _Alloc>::~vector() [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >]’ /usr/include/c++/13/bits/stl_pair.h:187:12: required from here /usr/include/c++/13/bits/new_allocator.h:161:13: error: invalid application of ‘__alignof__’ to incomplete type ‘std::__cxx11::basic_string’ 161 | if (alignof(_Tp) > __STDCPP_DEFAULT_NEW_ALIGNMENT__) | ^~~~~~~~~~~~ /usr/include/c++/13/bits/new_allocator.h:163:38: error: invalid application of ‘sizeof’ to incomplete type ‘std::__cxx11::basic_string’ 163 | _GLIBCXX_OPERATOR_DELETE(_GLIBCXX_SIZED_DEALLOC(__p, __n), | ^~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/new_allocator.h:164:55: error: invalid application of ‘__alignof__’ to incomplete type ‘std::__cxx11::basic_string’ 164 | std::align_val_t(alignof(_Tp))); | ^~~~~~~~~~~~ /usr/include/c++/13/bits/new_allocator.h:168:34: error: invalid application of ‘sizeof’ to incomplete type ‘std::__cxx11::basic_string’ 168 | _GLIBCXX_OPERATOR_DELETE(_GLIBCXX_SIZED_DEALLOC(__p, __n)); | ^~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/new_allocator.h: In instantiation of ‘_Tp* std::__new_allocator<_Tp>::allocate(size_type, const void*) [with _Tp = std::__cxx11::basic_string; size_type = long unsigned int]’: /usr/include/c++/13/bits/alloc_traits.h:482:28: required from ‘static _Tp* std::allocator_traits >::allocate(allocator_type&, size_type) [with _Tp = std::__cxx11::basic_string; pointer = std::__cxx11::basic_string*; allocator_type = std::allocator >; size_type = long unsigned int]’ /usr/include/c++/13/bits/stl_vector.h:378:33: required from ‘std::_Vector_base<_Tp, _Alloc>::pointer std::_Vector_base<_Tp, _Alloc>::_M_allocate(std::size_t) [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >; pointer = std::__cxx11::basic_string*; std::size_t = long unsigned int]’ /usr/include/c++/13/bits/stl_vector.h:395:33: required from ‘void std::_Vector_base<_Tp, _Alloc>::_M_create_storage(std::size_t) [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >; std::size_t = long unsigned int]’ /usr/include/c++/13/bits/stl_vector.h:332:9: required from ‘std::_Vector_base<_Tp, _Alloc>::_Vector_base(std::size_t, const allocator_type&) [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >; std::size_t = long unsigned int; allocator_type = std::allocator >]’ /usr/include/c++/13/bits/stl_vector.h:600:61: required from ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >]’ /usr/include/c++/13/bits/stl_pair.h:688:4: required from ‘constexpr std::pair<_T1, _T2>::pair(_U1&&, _U2&&) [with _U1 = std::vector >&; _U2 = std::unique_ptr; typename std::enable_if<(std::_PCC::_MoveConstructiblePair<_U1, _U2>() && std::_PCC::_ImplicitlyMoveConvertiblePair<_U1, _U2>()), bool>::type = true; _T1 = std::vector >; _T2 = std::unique_ptr]’ /usr/include/c++/13/bits/stl_pair.h:927:14: required from ‘constexpr std::pair::type>::__type, typename std::__strip_reference_wrapper::type>::__type> std::make_pair(_T1&&, _T2&&) [with _T1 = vector<__cxx11::basic_string >&; _T2 = unique_ptr; typename __strip_reference_wrapper::type>::__type = vector<__cxx11::basic_string >; typename decay<_Tp>::type = vector<__cxx11::basic_string >; typename __strip_reference_wrapper::type>::__type = unique_ptr; typename decay<_Tp2>::type = unique_ptr]’ /home/saji/local/src/hermes/API/hermes/cdp/DomainState.cpp:124:42: required from here /usr/include/c++/13/bits/new_allocator.h:127:23: error: invalid application of ‘sizeof’ to incomplete type ‘std::__cxx11::basic_string’ 127 | static_assert(sizeof(_Tp) != 0, "cannot allocate incomplete types"); | ^~~~~~~~~~~ /usr/include/c++/13/bits/new_allocator.h:134:42: error: invalid application of ‘sizeof’ to incomplete type ‘std::__cxx11::basic_string’ 134 | if (__n > (std::size_t(-1) / sizeof(_Tp))) | ^~~~~~~~~~~ /usr/include/c++/13/bits/new_allocator.h:140:13: error: invalid application of ‘__alignof__’ to incomplete type ‘std::__cxx11::basic_string’ 140 | if (alignof(_Tp) > __STDCPP_DEFAULT_NEW_ALIGNMENT__) | ^~~~~~~~~~~~ /usr/include/c++/13/bits/new_allocator.h:142:54: error: invalid application of ‘__alignof__’ to incomplete type ‘std::__cxx11::basic_string’ 142 | std::align_val_t __al = std::align_val_t(alignof(_Tp)); | ^~~~~~~~~~~~ /usr/include/c++/13/bits/new_allocator.h:143:66: error: invalid application of ‘sizeof’ to incomplete type ‘std::__cxx11::basic_string’ 143 | return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp), | ^~~~~~~~~~~ /usr/include/c++/13/bits/new_allocator.h:147:62: error: invalid application of ‘sizeof’ to incomplete type ‘std::__cxx11::basic_string’ 147 | return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp))); | ^~~~~~~~~~~ ninja: build stopped: subcommand failed. ```