Compile [2024-11-16 12:16:26 UTC]: fail
"g++-12" -fvisibility-inlines-hidden -std=c++17 -fPIC -m64 -pthread -O0 -fno-inline -Wall -fvisibility=hidden -DBOOST_ALL_NO_LIB=1 -DBOOST_COBALT_USE_STD_PMR=1 -I".." -I"../libs/hana/test/_include" -I"/var/boost/run/boost_root/libs/assert/include" -I"/var/boost/run/boost_root/libs/core/include" -I"/var/boost/run/boost_root/libs/hana/include" -I"/var/boost/run/boost_root/libs/throw_exception/include" -I"/var/boost/run/boost_root/libs/tuple/include" -c -o "/var/boost/run/results/boost/bin.v2/libs/hana/test/test~concept~struct~equal.test/gcc-12~c++17/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/concept/struct/equal.o" "../libs/hana/test/concept/struct/equal.cpp"
In file included from ../boost/hana/detail/operators/comparable.hpp:15,
from ../boost/hana/pair.hpp:20,
from ../boost/hana/unpack.hpp:26,
from ../boost/hana/fold_left.hpp:20,
from ../boost/hana/concept/foldable.hpp:19,
from ../boost/hana/core/to.hpp:16,
from ../boost/hana/bool.hpp:17,
from ../boost/hana/eval_if.hpp:15,
from ../boost/hana/concept/logical.hpp:19,
from ../boost/hana/if.hpp:15,
from ../boost/hana/assert.hpp:16,
from ../libs/hana/test/concept/struct/equal.cpp:5:
../boost/hana/fwd/equal.hpp: In instantiation of 'struct boost::hana::equal_impl<minimal_struct_tag<0>, minimal_struct_tag<0>, void>':
../boost/hana/equal.hpp:50:28: required from 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = minimal_struct_t<>; Y = minimal_struct_t<>]'
../libs/hana/test/concept/struct/equal.cpp:17:5: required from here
../boost/hana/fwd/equal.hpp:69:12: error: ambiguous template instantiation for 'struct boost::hana::equal_impl<minimal_struct_tag<0>, minimal_struct_tag<0>, boost::hana::when<true> >'
69 | struct equal_impl : equal_impl<T, U, when<true>> { };
| ^~~~~~~~~~
In file included from ../libs/hana/test/concept/struct/equal.cpp:7:
../boost/hana/equal.hpp:55:12: note: candidates are: 'template<class T, class U, bool condition> struct boost::hana::equal_impl<T, U, boost::hana::when<condition> > [with T = minimal_struct_tag<0>; U = minimal_struct_tag<0>; bool condition = true]'
55 | struct equal_impl<T, U, when<condition>> : default_ {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/equal.hpp:194:12: note: 'template<class S> struct boost::hana::equal_impl<S, S, boost::hana::when<(boost::hana::Struct<S>::value && (! boost::hana::detail::EqualityComparable<T>::value))> > [with S = minimal_struct_tag<0>]'
194 | struct equal_impl<S, S, when<
| ^~~~~~~~~~~~~~~~~~~~~~
195 | hana::Struct<S>::value &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~
196 | !detail::EqualityComparable<S, S>::value
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
197 | >> {
| ~~
../boost/hana/fwd/equal.hpp:69:12: error: invalid use of incomplete type 'struct boost::hana::equal_impl<minimal_struct_tag<0>, minimal_struct_tag<0>, boost::hana::when<true> >'
69 | struct equal_impl : equal_impl<T, U, when<true>> { };
| ^~~~~~~~~~
../boost/hana/fwd/equal.hpp:69:12: note: declaration of 'struct boost::hana::equal_impl<minimal_struct_tag<0>, minimal_struct_tag<0>, boost::hana::when<true> >'
../boost/hana/equal.hpp: In instantiation of 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = minimal_struct_t<>; Y = minimal_struct_t<>]':
../libs/hana/test/concept/struct/equal.cpp:17:5: required from here
../boost/hana/equal.hpp:50:28: error: 'apply' is not a member of 'Equal' {aka 'boost::hana::equal_impl<minimal_struct_tag<0>, minimal_struct_tag<0>, void>'}
50 | return Equal::apply(static_cast<X&&>(x), static_cast<Y&&>(y));
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp: In function 'int main()':
../boost/hana/assert.hpp:227:9: error: template argument 1 is invalid
227 | >::value, \
| ^
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:17:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
17 | BOOST_HANA_CONSTANT_CHECK(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/assert.hpp:232:10: error: no matching function for call to 'value<<expression error> >()'
230 | static_assert(::boost::hana::value< \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
231 | decltype(BOOST_HANA_PP_CONCAT(__hana_tmp_, __LINE__)) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
232 | >(), message); \
| ~^~
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:17:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
17 | BOOST_HANA_CONSTANT_CHECK(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../boost/hana/concept/constant.hpp:19,
from ../boost/hana/assert.hpp:13:
../boost/hana/value.hpp:31:30: note: candidate: 'template<class T> constexpr decltype(auto) boost::hana::value()'
31 | constexpr decltype(auto) value() {
| ^~~~~
../boost/hana/value.hpp:31:30: note: template argument deduction/substitution failed:
../boost/hana/assert.hpp:232:10: error: template argument 1 is invalid
230 | static_assert(::boost::hana::value< \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
231 | decltype(BOOST_HANA_PP_CONCAT(__hana_tmp_, __LINE__)) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
232 | >(), message); \
| ~^~
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:17:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
17 | BOOST_HANA_CONSTANT_CHECK(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../boost/hana/value.hpp:13:
../boost/hana/fwd/value.hpp:65:30: note: candidate: 'template<class T> constexpr decltype(auto) boost::hana::value(const T&)'
65 | constexpr decltype(auto) value(T const&)
| ^~~~~
../boost/hana/fwd/value.hpp:65:30: note: candidate expects 1 argument, 0 provided
../boost/hana/fwd/equal.hpp: In instantiation of 'struct boost::hana::equal_impl<minimal_struct_tag<1>, minimal_struct_tag<1>, void>':
../boost/hana/equal.hpp:50:28: required from 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = minimal_struct_t<boost::hana::test::ct_eq<0> >; Y = minimal_struct_t<boost::hana::test::ct_eq<0> >]'
../libs/hana/test/concept/struct/equal.cpp:22:5: required from here
../boost/hana/fwd/equal.hpp:69:12: error: ambiguous template instantiation for 'struct boost::hana::equal_impl<minimal_struct_tag<1>, minimal_struct_tag<1>, boost::hana::when<true> >'
69 | struct equal_impl : equal_impl<T, U, when<true>> { };
| ^~~~~~~~~~
../boost/hana/equal.hpp:55:12: note: candidates are: 'template<class T, class U, bool condition> struct boost::hana::equal_impl<T, U, boost::hana::when<condition> > [with T = minimal_struct_tag<1>; U = minimal_struct_tag<1>; bool condition = true]'
55 | struct equal_impl<T, U, when<condition>> : default_ {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/equal.hpp:194:12: note: 'template<class S> struct boost::hana::equal_impl<S, S, boost::hana::when<(boost::hana::Struct<S>::value && (! boost::hana::detail::EqualityComparable<T>::value))> > [with S = minimal_struct_tag<1>]'
194 | struct equal_impl<S, S, when<
| ^~~~~~~~~~~~~~~~~~~~~~
195 | hana::Struct<S>::value &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~
196 | !detail::EqualityComparable<S, S>::value
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
197 | >> {
| ~~
../boost/hana/fwd/equal.hpp:69:12: error: invalid use of incomplete type 'struct boost::hana::equal_impl<minimal_struct_tag<1>, minimal_struct_tag<1>, boost::hana::when<true> >'
69 | struct equal_impl : equal_impl<T, U, when<true>> { };
| ^~~~~~~~~~
../boost/hana/fwd/equal.hpp:69:12: note: declaration of 'struct boost::hana::equal_impl<minimal_struct_tag<1>, minimal_struct_tag<1>, boost::hana::when<true> >'
../boost/hana/equal.hpp: In instantiation of 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = minimal_struct_t<boost::hana::test::ct_eq<0> >; Y = minimal_struct_t<boost::hana::test::ct_eq<0> >]':
../libs/hana/test/concept/struct/equal.cpp:22:5: required from here
../boost/hana/equal.hpp:50:28: error: 'apply' is not a member of 'Equal' {aka 'boost::hana::equal_impl<minimal_struct_tag<1>, minimal_struct_tag<1>, void>'}
50 | return Equal::apply(static_cast<X&&>(x), static_cast<Y&&>(y));
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/assert.hpp:227:9: error: template argument 1 is invalid
227 | >::value, \
| ^
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:22:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
22 | BOOST_HANA_CONSTANT_CHECK(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/assert.hpp:232:10: error: no matching function for call to 'value<<expression error> >()'
230 | static_assert(::boost::hana::value< \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
231 | decltype(BOOST_HANA_PP_CONCAT(__hana_tmp_, __LINE__)) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
232 | >(), message); \
| ~^~
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:22:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
22 | BOOST_HANA_CONSTANT_CHECK(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/value.hpp:31:30: note: candidate: 'template<class T> constexpr decltype(auto) boost::hana::value()'
31 | constexpr decltype(auto) value() {
| ^~~~~
../boost/hana/value.hpp:31:30: note: template argument deduction/substitution failed:
../boost/hana/assert.hpp:232:10: error: template argument 1 is invalid
230 | static_assert(::boost::hana::value< \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
231 | decltype(BOOST_HANA_PP_CONCAT(__hana_tmp_, __LINE__)) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
232 | >(), message); \
| ~^~
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:22:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
22 | BOOST_HANA_CONSTANT_CHECK(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/fwd/value.hpp:65:30: note: candidate: 'template<class T> constexpr decltype(auto) boost::hana::value(const T&)'
65 | constexpr decltype(auto) value(T const&)
| ^~~~~
../boost/hana/fwd/value.hpp:65:30: note: candidate expects 1 argument, 0 provided
../boost/hana/equal.hpp: In instantiation of 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = minimal_struct_t<boost::hana::test::ct_eq<0> >; Y = minimal_struct_t<boost::hana::test::ct_eq<1> >]':
../libs/hana/test/concept/struct/equal.cpp:26:5: required from here
../boost/hana/equal.hpp:50:28: error: 'apply' is not a member of 'Equal' {aka 'boost::hana::equal_impl<minimal_struct_tag<1>, minimal_struct_tag<1>, void>'}
50 | return Equal::apply(static_cast<X&&>(x), static_cast<Y&&>(y));
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/assert.hpp:227:9: error: template argument 1 is invalid
227 | >::value, \
| ^
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:26:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
26 | BOOST_HANA_CONSTANT_CHECK(hana::not_(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/assert.hpp:232:10: error: no matching function for call to 'value<<expression error> >()'
230 | static_assert(::boost::hana::value< \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
231 | decltype(BOOST_HANA_PP_CONCAT(__hana_tmp_, __LINE__)) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
232 | >(), message); \
| ~^~
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:26:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
26 | BOOST_HANA_CONSTANT_CHECK(hana::not_(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/value.hpp:31:30: note: candidate: 'template<class T> constexpr decltype(auto) boost::hana::value()'
31 | constexpr decltype(auto) value() {
| ^~~~~
../boost/hana/value.hpp:31:30: note: template argument deduction/substitution failed:
../boost/hana/assert.hpp:232:10: error: template argument 1 is invalid
230 | static_assert(::boost::hana::value< \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
231 | decltype(BOOST_HANA_PP_CONCAT(__hana_tmp_, __LINE__)) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
232 | >(), message); \
| ~^~
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:26:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
26 | BOOST_HANA_CONSTANT_CHECK(hana::not_(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/fwd/value.hpp:65:30: note: candidate: 'template<class T> constexpr decltype(auto) boost::hana::value(const T&)'
65 | constexpr decltype(auto) value(T const&)
| ^~~~~
../boost/hana/fwd/value.hpp:65:30: note: candidate expects 1 argument, 0 provided
../boost/hana/fwd/equal.hpp: In instantiation of 'struct boost::hana::equal_impl<minimal_struct_tag<2>, minimal_struct_tag<2>, void>':
../boost/hana/equal.hpp:50:28: required from 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = minimal_struct_t<boost::hana::test::ct_eq<0>, boost::hana::test::ct_eq<1> >; Y = minimal_struct_t<boost::hana::test::ct_eq<0>, boost::hana::test::ct_eq<1> >]'
../libs/hana/test/concept/struct/equal.cpp:31:5: required from here
../boost/hana/fwd/equal.hpp:69:12: error: ambiguous template instantiation for 'struct boost::hana::equal_impl<minimal_struct_tag<2>, minimal_struct_tag<2>, boost::hana::when<true> >'
69 | struct equal_impl : equal_impl<T, U, when<true>> { };
| ^~~~~~~~~~
../boost/hana/equal.hpp:55:12: note: candidates are: 'template<class T, class U, bool condition> struct boost::hana::equal_impl<T, U, boost::hana::when<condition> > [with T = minimal_struct_tag<2>; U = minimal_struct_tag<2>; bool condition = true]'
55 | struct equal_impl<T, U, when<condition>> : default_ {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/equal.hpp:194:12: note: 'template<class S> struct boost::hana::equal_impl<S, S, boost::hana::when<(boost::hana::Struct<S>::value && (! boost::hana::detail::EqualityComparable<T>::value))> > [with S = minimal_struct_tag<2>]'
194 | struct equal_impl<S, S, when<
| ^~~~~~~~~~~~~~~~~~~~~~
195 | hana::Struct<S>::value &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~
196 | !detail::EqualityComparable<S, S>::value
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
197 | >> {
| ~~
../boost/hana/fwd/equal.hpp:69:12: error: invalid use of incomplete type 'struct boost::hana::equal_impl<minimal_struct_tag<2>, minimal_struct_tag<2>, boost::hana::when<true> >'
69 | struct equal_impl : equal_impl<T, U, when<true>> { };
| ^~~~~~~~~~
../boost/hana/fwd/equal.hpp:69:12: note: declaration of 'struct boost::hana::equal_impl<minimal_struct_tag<2>, minimal_struct_tag<2>, boost::hana::when<true> >'
../boost/hana/equal.hpp: In instantiation of 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = minimal_struct_t<boost::hana::test::ct_eq<0>, boost::hana::test::ct_eq<1> >; Y = minimal_struct_t<boost::hana::test::ct_eq<0>, boost::hana::test::ct_eq<1> >]':
../libs/hana/test/concept/struct/equal.cpp:31:5: required from here
../boost/hana/equal.hpp:50:28: error: 'apply' is not a member of 'Equal' {aka 'boost::hana::equal_impl<minimal_struct_tag<2>, minimal_struct_tag<2>, void>'}
50 | return Equal::apply(static_cast<X&&>(x), static_cast<Y&&>(y));
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/assert.hpp:227:9: error: template argument 1 is invalid
227 | >::value, \
| ^
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:31:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
31 | BOOST_HANA_CONSTANT_CHECK(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/assert.hpp:232:10: error: no matching function for call to 'value<<expression error> >()'
230 | static_assert(::boost::hana::value< \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
231 | decltype(BOOST_HANA_PP_CONCAT(__hana_tmp_, __LINE__)) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
232 | >(), message); \
| ~^~
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:31:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
31 | BOOST_HANA_CONSTANT_CHECK(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/value.hpp:31:30: note: candidate: 'template<class T> constexpr decltype(auto) boost::hana::value()'
31 | constexpr decltype(auto) value() {
| ^~~~~
../boost/hana/value.hpp:31:30: note: template argument deduction/substitution failed:
../boost/hana/assert.hpp:232:10: error: template argument 1 is invalid
230 | static_assert(::boost::hana::value< \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
231 | decltype(BOOST_HANA_PP_CONCAT(__hana_tmp_, __LINE__)) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
232 | >(), message); \
| ~^~
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:31:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
31 | BOOST_HANA_CONSTANT_CHECK(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/fwd/value.hpp:65:30: note: candidate: 'template<class T> constexpr decltype(auto) boost::hana::value(const T&)'
65 | constexpr decltype(auto) value(T const&)
| ^~~~~
../boost/hana/fwd/value.hpp:65:30: note: candidate expects 1 argument, 0 provided
../boost/hana/equal.hpp: In instantiation of 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = minimal_struct_t<boost::hana::test::ct_eq<1>, boost::hana::test::ct_eq<0> >; Y = minimal_struct_t<boost::hana::test::ct_eq<0>, boost::hana::test::ct_eq<1> >]':
../libs/hana/test/concept/struct/equal.cpp:35:5: required from here
../boost/hana/equal.hpp:50:28: error: 'apply' is not a member of 'Equal' {aka 'boost::hana::equal_impl<minimal_struct_tag<2>, minimal_struct_tag<2>, void>'}
50 | return Equal::apply(static_cast<X&&>(x), static_cast<Y&&>(y));
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/assert.hpp:227:9: error: template argument 1 is invalid
227 | >::value, \
| ^
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:35:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
35 | BOOST_HANA_CONSTANT_CHECK(hana::not_(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/assert.hpp:232:10: error: no matching function for call to 'value<<expression error> >()'
230 | static_assert(::boost::hana::value< \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
231 | decltype(BOOST_HANA_PP_CONCAT(__hana_tmp_, __LINE__)) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
232 | >(), message); \
| ~^~
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:35:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
35 | BOOST_HANA_CONSTANT_CHECK(hana::not_(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/value.hpp:31:30: note: candidate: 'template<class T> constexpr decltype(auto) boost::hana::value()'
31 | constexpr decltype(auto) value() {
| ^~~~~
../boost/hana/value.hpp:31:30: note: template argument deduction/substitution failed:
../boost/hana/assert.hpp:232:10: error: template argument 1 is invalid
230 | static_assert(::boost::hana::value< \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
231 | decltype(BOOST_HANA_PP_CONCAT(__hana_tmp_, __LINE__)) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
232 | >(), message); \
| ~^~
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:35:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
35 | BOOST_HANA_CONSTANT_CHECK(hana::not_(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/fwd/value.hpp:65:30: note: candidate: 'template<class T> constexpr decltype(auto) boost::hana::value(const T&)'
65 | constexpr decltype(auto) value(T const&)
| ^~~~~
../boost/hana/fwd/value.hpp:65:30: note: candidate expects 1 argument, 0 provided
../boost/hana/equal.hpp: In instantiation of 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = minimal_struct_t<boost::hana::test::ct_eq<0>, boost::hana::test::ct_eq<99> >; Y = minimal_struct_t<boost::hana::test::ct_eq<0>, boost::hana::test::ct_eq<1> >]':
../libs/hana/test/concept/struct/equal.cpp:39:5: required from here
../boost/hana/equal.hpp:50:28: error: 'apply' is not a member of 'Equal' {aka 'boost::hana::equal_impl<minimal_struct_tag<2>, minimal_struct_tag<2>, void>'}
50 | return Equal::apply(static_cast<X&&>(x), static_cast<Y&&>(y));
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/assert.hpp:227:9: error: template argument 1 is invalid
227 | >::value, \
| ^
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:39:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
39 | BOOST_HANA_CONSTANT_CHECK(hana::not_(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/assert.hpp:232:10: error: no matching function for call to 'value<<expression error> >()'
230 | static_assert(::boost::hana::value< \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
231 | decltype(BOOST_HANA_PP_CONCAT(__hana_tmp_, __LINE__)) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
232 | >(), message); \
| ~^~
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:39:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
39 | BOOST_HANA_CONSTANT_CHECK(hana::not_(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/value.hpp:31:30: note: candidate: 'template<class T> constexpr decltype(auto) boost::hana::value()'
31 | constexpr decltype(auto) value() {
| ^~~~~
../boost/hana/value.hpp:31:30: note: template argument deduction/substitution failed:
../boost/hana/assert.hpp:232:10: error: template argument 1 is invalid
230 | static_assert(::boost::hana::value< \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
231 | decltype(BOOST_HANA_PP_CONCAT(__hana_tmp_, __LINE__)) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
232 | >(), message); \
| ~^~
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:39:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
39 | BOOST_HANA_CONSTANT_CHECK(hana::not_(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/fwd/value.hpp:65:30: note: candidate: 'template<class T> constexpr decltype(auto) boost::hana::value(const T&)'
65 | constexpr decltype(auto) value(T const&)
| ^~~~~
../boost/hana/fwd/value.hpp:65:30: note: candidate expects 1 argument, 0 provided
../boost/hana/equal.hpp: In instantiation of 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = minimal_struct_t<boost::hana::test::ct_eq<99>, boost::hana::test::ct_eq<1> >; Y = minimal_struct_t<boost::hana::test::ct_eq<0>, boost::hana::test::ct_eq<1> >]':
../libs/hana/test/concept/struct/equal.cpp:43:5: required from here
../boost/hana/equal.hpp:50:28: error: 'apply' is not a member of 'Equal' {aka 'boost::hana::equal_impl<minimal_struct_tag<2>, minimal_struct_tag<2>, void>'}
50 | return Equal::apply(static_cast<X&&>(x), static_cast<Y&&>(y));
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/assert.hpp:227:9: error: template argument 1 is invalid
227 | >::value, \
| ^
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:43:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
43 | BOOST_HANA_CONSTANT_CHECK(hana::not_(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/assert.hpp:232:10: error: no matching function for call to 'value<<expression error> >()'
230 | static_assert(::boost::hana::value< \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
231 | decltype(BOOST_HANA_PP_CONCAT(__hana_tmp_, __LINE__)) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
232 | >(), message); \
| ~^~
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:43:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
43 | BOOST_HANA_CONSTANT_CHECK(hana::not_(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/value.hpp:31:30: note: candidate: 'template<class T> constexpr decltype(auto) boost::hana::value()'
31 | constexpr decltype(auto) value() {
| ^~~~~
../boost/hana/value.hpp:31:30: note: template argument deduction/substitution failed:
../boost/hana/assert.hpp:232:10: error: template argument 1 is invalid
230 | static_assert(::boost::hana::value< \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
231 | decltype(BOOST_HANA_PP_CONCAT(__hana_tmp_, __LINE__)) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
232 | >(), message); \
| ~^~
../boost/hana/assert.hpp:240:9: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK_MSG'
240 | BOOST_HANA_CONSTANT_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/concept/struct/equal.cpp:43:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
43 | BOOST_HANA_CONSTANT_CHECK(hana::not_(hana::equal(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/fwd/value.hpp:65:30: note: candidate: 'template<class T> constexpr decltype(auto) boost::hana::value(const T&)'
65 | constexpr decltype(auto) value(T const&)
| ^~~~~
../boost/hana/fwd/value.hpp:65:30: note: candidate expects 1 argument, 0 provided