Compile [2024-11-15 18:22:18 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/include" -I"../libs/hana/test/_include" -c -o "/var/boost/run/results/boost/bin.v2/libs/hana/test/test~issues~github_31.test/gcc-12~c++17/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/issues/github_31.o" "../libs/hana/test/issues/github_31.cpp"
In file included from ../boost/hana/any_of.hpp:13,
from ../libs/hana/test/issues/github_31.cpp:5:
../boost/hana/fwd/any_of.hpp: In instantiation of 'struct boost::hana::any_of_impl<counter<1>, void>':
../boost/hana/core/default.hpp:26:9: required by substitution of 'template<class Method> struct boost::hana::is_default<Method, decltype ((void)(static_cast<boost::hana::default_>((*(Method*)(0)))))> [with Method = boost::hana::any_of_impl<counter<1>, void>]'
../boost/hana/concept/searchable.hpp:27:65: required from 'struct boost::hana::Searchable<counter<1> >'
../boost/hana/any_of.hpp:39:15: required from 'constexpr auto boost::hana::any_of_t::operator()(Xs&&, Pred&&) const [with Xs = counter<1>; Pred = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::equal_t, boost::hana::integral_constant<int, 4> >]'
../libs/hana/test/issues/github_31.cpp:47:5: required from here
../boost/hana/fwd/any_of.hpp:42:12: error: ambiguous template instantiation for 'struct boost::hana::any_of_impl<counter<1>, boost::hana::when<true> >'
42 | struct any_of_impl : any_of_impl<S, when<true>> { };
| ^~~~~~~~~~~
../boost/hana/any_of.hpp:53:12: note: candidates are: 'template<class S, bool condition> struct boost::hana::any_of_impl<S, boost::hana::when<condition> > [with S = counter<1>; bool condition = true]'
53 | struct any_of_impl<S, when<condition>> : default_ {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/any_of.hpp:105:12: note: 'template<class It> struct boost::hana::any_of_impl<It, boost::hana::when<(boost::hana::Iterable<It>::value && (! boost::hana::Sequence<S>::value))> > [with It = counter<1>]'
105 | struct any_of_impl<It, when<
| ^~~~~~~~~~~~~~~~~~~~~
106 | hana::Iterable<It>::value &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
107 | !Sequence<It>::value
| ~~~~~~~~~~~~~~~~~~~~
108 | >> {
| ~~
../boost/hana/fwd/any_of.hpp:42:12: error: invalid use of incomplete type 'struct boost::hana::any_of_impl<counter<1>, boost::hana::when<true> >'
42 | struct any_of_impl : any_of_impl<S, when<true>> { };
| ^~~~~~~~~~~
../boost/hana/fwd/any_of.hpp:42:12: note: declaration of 'struct boost::hana::any_of_impl<counter<1>, boost::hana::when<true> >'
../boost/hana/any_of.hpp: In instantiation of 'constexpr auto boost::hana::any_of_t::operator()(Xs&&, Pred&&) const [with Xs = counter<1>; Pred = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::equal_t, boost::hana::integral_constant<int, 4> >]':
../libs/hana/test/issues/github_31.cpp:47:5: required from here
../boost/hana/any_of.hpp:48:28: error: 'apply' is not a member of 'AnyOf' {aka 'boost::hana::any_of_impl<counter<1>, void>'}
48 | return AnyOf::apply(static_cast<Xs&&>(xs), static_cast<Pred&&>(pred));
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../libs/hana/test/issues/github_31.cpp:6:
../libs/hana/test/issues/github_31.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/issues/github_31.cpp:47:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
47 | BOOST_HANA_CONSTANT_CHECK(hana::any_of(counter<1>{}, hana::equal.to(hana::int_c<4>)));
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../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/issues/github_31.cpp:47:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
47 | BOOST_HANA_CONSTANT_CHECK(hana::any_of(counter<1>{}, hana::equal.to(hana::int_c<4>)));
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../boost/hana/concept/constant.hpp:19,
from ../boost/hana/core/to.hpp:15,
from ../boost/hana/bool.hpp:17,
from ../boost/hana/integral_constant.hpp:13,
from ../boost/hana/drop_front.hpp:20,
from ../boost/hana/concept/iterable.hpp:20,
from ../boost/hana/at.hpp:16,
from ../boost/hana/any_of.hpp:16:
../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/issues/github_31.cpp:47:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
47 | BOOST_HANA_CONSTANT_CHECK(hana::any_of(counter<1>{}, hana::equal.to(hana::int_c<4>)));
| ^~~~~~~~~~~~~~~~~~~~~~~~~
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
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:
../boost/hana/fwd/equal.hpp: In instantiation of 'struct boost::hana::equal_impl<boost::hana::integral_constant_tag<int>, boost::hana::integral_constant_tag<int>, void>':
../boost/hana/equal.hpp:50:28: required from 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = boost::hana::integral_constant<int, 4>; Y = boost::hana::integral_constant<int, 1>]'
../boost/hana/functional/partial.hpp:94:61: required from 'constexpr decltype(auto) boost::hana::partial_t<std::integer_sequence<long unsigned int, _Idx ...>, F, X ...>::operator()(Y&& ...) && [with Y = {boost::hana::integral_constant<int, 1>}; long unsigned int ...n = {0}; F = boost::hana::equal_t; X = {boost::hana::integral_constant<int, 4>}]'
../boost/hana/index_if.hpp:57:41: required by substitution of 'template<long unsigned int i, long unsigned int N> template<class Xs, class Pred> using f = typename boost::hana::detail::iterate_while<(i + 1), N, static_cast<bool>(typename boost::hana::detail::decay<decltype (declval<Pred>()(boost::hana::at(declval<Xs>(), size_c<i>)))>::type::value)>::f<Xs, Pred> [with Xs = counter<1>; Pred = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::equal_t, boost::hana::integral_constant<int, 4> >; long unsigned int i = 0; long unsigned int N = 18446744073709551615]'
../boost/hana/index_if.hpp:88:31: required by substitution of 'template<class Xs, class Pred> static constexpr boost::hana::detail::iterate_while<0, 18446744073709551615, false>::f<Xs, Pred> boost::hana::index_if_impl<counter<1>, boost::hana::when<true> >::apply(const Xs&, const Pred&) [with Xs = counter<1>; Pred = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::equal_t, boost::hana::integral_constant<int, 4> >]'
../boost/hana/index_if.hpp:44:30: required from 'constexpr auto boost::hana::index_if_t::operator()(Xs&&, Pred&&) const [with Xs = counter<1>; Pred = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::equal_t, boost::hana::integral_constant<int, 4> >]'
../boost/hana/find_if.hpp:74:51: required from 'static constexpr auto boost::hana::find_if_impl<Tag, boost::hana::when<boost::hana::Iterable<It>::value> >::apply(Xs&&, Pred&&) [with Xs = counter<1>; Pred = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::equal_t, boost::hana::integral_constant<int, 4> >; Tag = counter<1>]'
../boost/hana/find_if.hpp:48:29: required from 'constexpr auto boost::hana::find_if_t::operator()(Xs&&, Pred&&) const [with Xs = counter<1>; Pred = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::equal_t, boost::hana::integral_constant<int, 4> >]'
../libs/hana/test/issues/github_31.cpp:49:5: required from here
../boost/hana/fwd/equal.hpp:69:12: error: ambiguous template instantiation for 'struct boost::hana::equal_impl<boost::hana::integral_constant_tag<int>, boost::hana::integral_constant_tag<int>, boost::hana::when<true> >'
69 | struct equal_impl : equal_impl<T, U, when<true>> { };
| ^~~~~~~~~~
In file included from ../libs/hana/test/issues/github_31.cpp:8:
../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 = boost::hana::integral_constant_tag<int>; U = boost::hana::integral_constant_tag<int>; bool condition = true]'
55 | struct equal_impl<T, U, when<condition>> : default_ {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/equal.hpp:104:12: note: 'template<class C> struct boost::hana::equal_impl<C, C, boost::hana::when<(boost::hana::Constant<C>::value && boost::hana::Comparable<typename C::value_type>::value)> > [with C = boost::hana::integral_constant_tag<int>]'
104 | struct equal_impl<C, C, when<
| ^~~~~~~~~~~~~~~~~~~~~~
105 | hana::Constant<C>::value &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
106 | Comparable<typename C::value_type>::value
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
107 | >> {
| ~~
../boost/hana/fwd/equal.hpp:69:12: error: invalid use of incomplete type 'struct boost::hana::equal_impl<boost::hana::integral_constant_tag<int>, boost::hana::integral_constant_tag<int>, 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<boost::hana::integral_constant_tag<int>, boost::hana::integral_constant_tag<int>, boost::hana::when<true> >'
../boost/hana/equal.hpp: In instantiation of 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = boost::hana::integral_constant<int, 4>; Y = boost::hana::integral_constant<int, 1>]':
../boost/hana/functional/partial.hpp:94:61: required from 'constexpr decltype(auto) boost::hana::partial_t<std::integer_sequence<long unsigned int, _Idx ...>, F, X ...>::operator()(Y&& ...) && [with Y = {boost::hana::integral_constant<int, 1>}; long unsigned int ...n = {0}; F = boost::hana::equal_t; X = {boost::hana::integral_constant<int, 4>}]'
../boost/hana/index_if.hpp:57:41: required by substitution of 'template<long unsigned int i, long unsigned int N> template<class Xs, class Pred> using f = typename boost::hana::detail::iterate_while<(i + 1), N, static_cast<bool>(typename boost::hana::detail::decay<decltype (declval<Pred>()(boost::hana::at(declval<Xs>(), size_c<i>)))>::type::value)>::f<Xs, Pred> [with Xs = counter<1>; Pred = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::equal_t, boost::hana::integral_constant<int, 4> >; long unsigned int i = 0; long unsigned int N = 18446744073709551615]'
../boost/hana/index_if.hpp:88:31: required by substitution of 'template<class Xs, class Pred> static constexpr boost::hana::detail::iterate_while<0, 18446744073709551615, false>::f<Xs, Pred> boost::hana::index_if_impl<counter<1>, boost::hana::when<true> >::apply(const Xs&, const Pred&) [with Xs = counter<1>; Pred = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::equal_t, boost::hana::integral_constant<int, 4> >]'
../boost/hana/index_if.hpp:44:30: required from 'constexpr auto boost::hana::index_if_t::operator()(Xs&&, Pred&&) const [with Xs = counter<1>; Pred = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::equal_t, boost::hana::integral_constant<int, 4> >]'
../boost/hana/find_if.hpp:74:51: required from 'static constexpr auto boost::hana::find_if_impl<Tag, boost::hana::when<boost::hana::Iterable<It>::value> >::apply(Xs&&, Pred&&) [with Xs = counter<1>; Pred = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::equal_t, boost::hana::integral_constant<int, 4> >; Tag = counter<1>]'
../boost/hana/find_if.hpp:48:29: required from 'constexpr auto boost::hana::find_if_t::operator()(Xs&&, Pred&&) const [with Xs = counter<1>; Pred = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::equal_t, boost::hana::integral_constant<int, 4> >]'
../libs/hana/test/issues/github_31.cpp:49:5: required from here
../boost/hana/equal.hpp:50:28: error: 'apply' is not a member of 'Equal' {aka 'boost::hana::equal_impl<boost::hana::integral_constant_tag<int>, boost::hana::integral_constant_tag<int>, void>'}
50 | return Equal::apply(static_cast<X&&>(x), static_cast<Y&&>(y));
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../boost/hana/find_if.hpp:26,
from ../boost/hana/concept/searchable.hpp:20,
from ../boost/hana/any_of.hpp:18:
../boost/hana/index_if.hpp: In instantiation of 'constexpr auto boost::hana::index_if_t::operator()(Xs&&, Pred&&) const [with Xs = counter<1>; Pred = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::equal_t, boost::hana::integral_constant<int, 4> >]':
../boost/hana/find_if.hpp:74:51: required from 'static constexpr auto boost::hana::find_if_impl<Tag, boost::hana::when<boost::hana::Iterable<It>::value> >::apply(Xs&&, Pred&&) [with Xs = counter<1>; Pred = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::equal_t, boost::hana::integral_constant<int, 4> >; Tag = counter<1>]'
../boost/hana/find_if.hpp:48:29: required from 'constexpr auto boost::hana::find_if_t::operator()(Xs&&, Pred&&) const [with Xs = counter<1>; Pred = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::equal_t, boost::hana::integral_constant<int, 4> >]'
../libs/hana/test/issues/github_31.cpp:49:5: required from here
../boost/hana/index_if.hpp:44:30: error: no matching function for call to 'boost::hana::index_if_impl<counter<1>, void>::apply(counter<1>, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::equal_t, boost::hana::integral_constant<int, 4> >)'
44 | return IndexIf::apply(static_cast<Xs&&>(xs), static_cast<Pred&&>(pred));
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/index_if.hpp:88:31: note: candidate: 'template<class Xs, class Pred> static constexpr boost::hana::detail::iterate_while<0, 18446744073709551615, false>::f<Xs, Pred> boost::hana::index_if_impl<It, boost::hana::when<(! boost::hana::Foldable<T>::value)> >::apply(const Xs&, const Pred&) [with Pred = Xs; It = counter<1>]'
88 | static constexpr auto apply(Xs const&, Pred const&)
| ^~~~~
../boost/hana/index_if.hpp:88:31: note: substitution of deduced template arguments resulted in errors seen above
../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/issues/github_31.cpp:49:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
49 | 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/issues/github_31.cpp:49:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
49 | 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/issues/github_31.cpp:49:5: note: in expansion of macro 'BOOST_HANA_CONSTANT_CHECK'
49 | 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