Skip to content

Compile error #305

@targos

Description

@targos

https://github.com/nodejs/node-v8/actions/runs/22340101963/job/64641292256

In file included from ../deps/v8/src/ast/ast.cc:5:
In file included from ../deps/v8/src/ast/ast.h:10:
In file included from ../deps/v8/src/ast/ast-value-factory.h:33:
../deps/v8/src/base/hashmap.h:47:49: error: no matching constructor for initialization of 'v8::base::HashEqualityThenKeyMatcher<void *, bool (*)(void *, void *)>'
   47 |                                MatchFun match = MatchFun(),
      |                                                 ^
/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/type_traits:3383:46: note: in instantiation of default function argument expression for 'TemplateHashMapImpl<void *, int, v8::base::HashEqualityThenKeyMatcher<void *, bool (*)(void *, void *)>, v8::base::DefaultAllocationPolicy>' required here
 3383 |   inline constexpr bool is_constructible_v = __is_constructible(_Tp, _Args...);
      |                                              ^
/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/optional:516:21: note: in instantiation of variable template specialization 'std::is_constructible_v<v8::base::TemplateHashMapImpl<void *, int, v8::base::HashEqualityThenKeyMatcher<void *, bool (*)(void *, void *)>, v8::base::DefaultAllocationPolicy>>' requested here
  516 |                enable_if_t<is_constructible_v<_Tp, _Args...>, bool> = false>
      |                            ^
/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/optional:518:2: note: while substituting prior template arguments into non-type template parameter [with _Args = <>]
  518 |         _Optional_base(in_place_t, _Args&&... __args)
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  519 |         : _M_payload(in_place, std::forward<_Args>(__args)...)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  520 |         { }
      |         ~~~
/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/optional:508:12: note: while substituting deduced template arguments into function template '_Optional_base' [with _Args = <>, $1 = (no value)]
  508 |     struct _Optional_base
      |            ^
/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/optional:703:11: note: while declaring the implicit copy constructor for 'optional<v8::base::TemplateHashMapImpl<void *, int, v8::base::HashEqualityThenKeyMatcher<void *, bool (*)(void *, void *)>, v8::base::DefaultAllocationPolicy>>'
  703 |     class optional
      |           ^
../deps/v8/src/ast/ast.cc:619:7: note: in instantiation of template class 'std::optional<v8::base::TemplateHashMapImpl<void *, int, v8::base::HashEqualityThenKeyMatcher<void *, bool (*)(void *, void *)>, v8::base::DefaultAllocationPolicy>>' requested here
  619 |       table_;
      |       ^
../deps/v8/src/base/hashmap.h:449:12: note: candidate constructor not viable: requires single argument 'match', but no arguments were provided
  449 |   explicit HashEqualityThenKeyMatcher(MatchFun match) : match_(match) {}
      |            ^                          ~~~~~~~~~~~~~~
../deps/v8/src/base/hashmap.h:448:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided
  448 | struct HashEqualityThenKeyMatcher {
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/v8/src/base/hashmap.h:448:8: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 0 were provided
  448 | struct HashEqualityThenKeyMatcher {
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/v8/src/base/hashmap.h:47:49: error: no matching constructor for initialization of 'v8::base::HashEqualityThenKeyMatcher<void *, bool (*)(void *, void *)>'
   47 |                                MatchFun match = MatchFun(),
      |                                                 ^
/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/type_traits:1110:25: note: in instantiation of default function argument expression for 'TemplateHashMapImpl<void *, int, v8::base::HashEqualityThenKeyMatcher<void *, bool (*)(void *, void *)>, v8::base::DefaultAllocationPolicy>' required here
 1110 |       = __bool_constant<__is_constructible(_Tp, _Args...)>;
      |                         ^
/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/type_traits:1116:16: note: in instantiation of template type alias '__is_constructible_impl' requested here
 1116 |       : public __is_constructible_impl<_Tp, _Args...>
      |                ^
/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/type_traits:183:30: note: in instantiation of template class 'std::is_constructible<v8::base::TemplateHashMapImpl<void *, int, v8::base::HashEqualityThenKeyMatcher<void *, bool (*)(void *, void *)>, v8::base::DefaultAllocationPolicy>>' requested here
  183 |                                       __enable_if_t<bool(_Bn::value)>...>;
      |                                                          ^
/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/type_traits:199:16: note: while substituting explicitly-specified template arguments into function template '__and_fn' 
  199 |     : decltype(__detail::__and_fn<_Bn...>(0))
      |                ^
/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/type_traits:214:37: note: in instantiation of template class 'std::__and_<std::is_constructible<v8::base::TemplateHashMapImpl<void *, int, v8::base::HashEqualityThenKeyMatcher<void *, bool (*)(void *, void *)>, v8::base::DefaultAllocationPolicy>>>' requested here
  214 |     inline constexpr bool __and_v = __and_<_Bn...>::value;
      |                                     ^
/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/optional:730:32: note: in instantiation of variable template specialization 'std::__and_v<std::is_constructible<v8::base::TemplateHashMapImpl<void *, int, v8::base::HashEqualityThenKeyMatcher<void *, bool (*)(void *, void *)>, v8::base::DefaultAllocationPolicy>>>' requested here
  730 |         using _Requires = enable_if_t<__and_v<_Cond...>, bool>;
      |                                       ^
/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/optional:811:52: note: in instantiation of template type alias '_Requires' requested here
  811 |                _Requires<is_constructible<_Tp, _Args...>> = false>
      |                                                           ^
/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/optional:813:2: note: while substituting prior template arguments into non-type template parameter [with _Args = <>]
  813 |         optional(in_place_t, _Args&&... __args)
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  814 |         noexcept(is_nothrow_constructible_v<_Tp, _Args...>)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  815 |         : _Base(std::in_place, std::forward<_Args>(__args)...) { }
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/optional:703:11: note: while substituting deduced template arguments into function template 'optional' [with _Args = <>, $1 = (no value)]
  703 |     class optional
      |           ^
../deps/v8/src/ast/ast.cc:497:7: note: while declaring the implicit copy constructor for 'PropertyDeduplicator'
  497 | class PropertyDeduplicator {
      |       ^
../deps/v8/src/base/hashmap.h:449:12: note: candidate constructor not viable: requires single argument 'match', but no arguments were provided
  449 |   explicit HashEqualityThenKeyMatcher(MatchFun match) : match_(match) {}
      |            ^                          ~~~~~~~~~~~~~~
../deps/v8/src/base/hashmap.h:448:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided
  448 | struct HashEqualityThenKeyMatcher {
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/v8/src/base/hashmap.h:448:8: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 0 were provided
  448 | struct HashEqualityThenKeyMatcher {
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings and 2 errors generated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions