Compile [2024-11-15 18:22:19 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~ext~std~array~issue_304.test/gcc-12~c++17/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/ext/std/array/issue_304.o" "../libs/hana/test/ext/std/array/issue_304.cpp"
In file included from ../boost/hana/basic_tuple.hpp:28,
from ../boost/hana/functional/partial.hpp:13,
from ../boost/hana/fold_left.hpp:19,
from ../boost/hana/concept/foldable.hpp:19,
from ../boost/hana/core/to.hpp:16,
from ../boost/hana/bool.hpp:17,
from ../boost/hana/ext/std/array.hpp:13,
from ../libs/hana/test/ext/std/array/issue_304.cpp:6:
../boost/hana/fwd/unpack.hpp: In instantiation of 'struct boost::hana::unpack_impl<boost::hana::ext::std::array_tag, 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::unpack_impl<boost::hana::ext::std::array_tag, void>]'
../boost/hana/concept/foldable.hpp:28:65: required from 'struct boost::hana::Foldable<boost::hana::ext::std::array_tag>'
../boost/hana/core/to.hpp:188:28: required by substitution of 'template<class S, class F> struct boost::hana::to_impl<S, F, boost::hana::when<(boost::hana::Sequence<S>::value && boost::hana::Foldable<F>::value)> > [with S = boost::hana::tuple_tag; F = boost::hana::ext::std::array_tag]'
../boost/hana/core/to.hpp:36:12: required from 'struct boost::hana::to_impl<boost::hana::tuple_tag, boost::hana::ext::std::array_tag, void>'
../boost/hana/core/to.hpp:78:40: required from 'constexpr decltype(auto) boost::hana::to_t<To>::operator()(X&&) const [with X = std::array<Foo, 2>; To = boost::hana::tuple_tag]'
../libs/hana/test/ext/std/array/issue_304.cpp:18:36: required from here
../boost/hana/fwd/unpack.hpp:84:12: error: ambiguous template instantiation for 'struct boost::hana::unpack_impl<boost::hana::ext::std::array_tag, boost::hana::when<true> >'
84 | struct unpack_impl : unpack_impl<T, when<true>> { };
| ^~~~~~~~~~~
In file included from ../boost/hana/fold_left.hpp:20:
../boost/hana/unpack.hpp:52:12: note: candidates are: 'template<class T, bool condition> struct boost::hana::unpack_impl<T, boost::hana::when<condition> > [with T = boost::hana::ext::std::array_tag; bool condition = true]'
52 | struct unpack_impl<T, when<condition>> : default_ {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/unpack.hpp:62:12: note: 'template<class It> struct boost::hana::unpack_impl<It, boost::hana::when<(boost::hana::Iterable<It>::value && (! boost::hana::is_default<boost::hana::length_impl<It> >::value))> > [with It = boost::hana::ext::std::array_tag]'
62 | struct unpack_impl<It, when<
| ^~~~~~~~~~~~~~~~~~~~~
63 | hana::Iterable<It>::value && !is_default<length_impl<It>>::value
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64 | >> {
| ~~
../boost/hana/fwd/unpack.hpp:84:12: error: invalid use of incomplete type 'struct boost::hana::unpack_impl<boost::hana::ext::std::array_tag, boost::hana::when<true> >'
84 | struct unpack_impl : unpack_impl<T, when<true>> { };
| ^~~~~~~~~~~
../boost/hana/fwd/unpack.hpp:84:12: note: declaration of 'struct boost::hana::unpack_impl<boost::hana::ext::std::array_tag, boost::hana::when<true> >'
../boost/hana/core/to.hpp: In instantiation of 'struct boost::hana::to_impl<boost::hana::tuple_tag, boost::hana::ext::std::array_tag, void>':
../boost/hana/core/to.hpp:78:40: required from 'constexpr decltype(auto) boost::hana::to_t<To>::operator()(X&&) const [with X = std::array<Foo, 2>; To = boost::hana::tuple_tag]'
../libs/hana/test/ext/std/array/issue_304.cpp:18:36: required from here
../boost/hana/core/to.hpp:36:12: error: ambiguous template instantiation for 'struct boost::hana::to_impl<boost::hana::tuple_tag, boost::hana::ext::std::array_tag, boost::hana::when<true> >'
36 | struct to_impl : to_impl<To, From, when<true>> { };
| ^~~~~~~
../boost/hana/core/to.hpp:62:12: note: candidates are: 'template<class To, class From, bool condition> struct boost::hana::to_impl<To, From, boost::hana::when<condition> > [with To = boost::hana::tuple_tag; From = boost::hana::ext::std::array_tag; bool condition = true]'
62 | struct to_impl<To, From, when<condition>>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/core/to.hpp:186:12: note: 'template<class S, class F> struct boost::hana::to_impl<S, F, boost::hana::when<(boost::hana::Sequence<S>::value && boost::hana::Foldable<F>::value)> > [with S = boost::hana::tuple_tag; F = boost::hana::ext::std::array_tag]'
186 | struct to_impl<S, F, when<
| ^~~~~~~~~~~~~~~~~~~
187 | hana::Sequence<S>::value &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
188 | hana::Foldable<F>::value
| ~~~~~~~~~~~~~~~~~~~~~~~~
189 | >> : embedding<Sequence<F>::value> {
| ~~
../boost/hana/core/to.hpp:36:12: error: invalid use of incomplete type 'struct boost::hana::to_impl<boost::hana::tuple_tag, boost::hana::ext::std::array_tag, boost::hana::when<true> >'
36 | struct to_impl : to_impl<To, From, when<true>> { };
| ^~~~~~~
../boost/hana/core/to.hpp:36:12: note: declaration of 'struct boost::hana::to_impl<boost::hana::tuple_tag, boost::hana::ext::std::array_tag, boost::hana::when<true> >'
../boost/hana/core/to.hpp: In instantiation of 'constexpr decltype(auto) boost::hana::to_t<To>::operator()(X&&) const [with X = std::array<Foo, 2>; To = boost::hana::tuple_tag]':
../libs/hana/test/ext/std/array/issue_304.cpp:18:36: required from here
../boost/hana/core/to.hpp:78:40: error: 'apply' is not a member of 'boost::hana::to_impl<boost::hana::tuple_tag, boost::hana::ext::std::array_tag, void>'
78 | return to_impl<To, From>::apply(static_cast<X&&>(x));
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~