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~ext~std~bugs~libcxx_22806.test/gcc-12~c++17/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/ext/std/bugs/libcxx_22806.o" "../libs/hana/test/ext/std/bugs/libcxx_22806.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/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/detail/unpack_flatten.hpp:13,
from ../boost/hana/flatten.hpp:20,
from ../boost/hana/concept/monad.hpp:20,
from ../boost/hana/chain.hpp:15,
from ../libs/hana/test/ext/std/bugs/libcxx_22806.cpp:5:
../boost/hana/fwd/unpack.hpp: In instantiation of 'struct boost::hana::unpack_impl<boost::hana::ext::std::tuple_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::tuple_tag, void>]'
../boost/hana/concept/foldable.hpp:28:65: required from 'struct boost::hana::Foldable<boost::hana::ext::std::tuple_tag>'
../boost/hana/unpack.hpp:38:15: required from 'constexpr decltype(auto) boost::hana::unpack_t::operator()(Xs&&, F&&) const [with Xs = std::tuple<boost::hana::test::ct_eq<0> >&; F = boost::hana::transform_impl<boost::hana::ext::std::tuple_tag, boost::hana::when<true> >::transformer<boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::test::_injection<0> > >*>]'
../boost/hana/transform.hpp:70:32: required from 'static constexpr auto boost::hana::transform_impl<S, boost::hana::when<boost::hana::Sequence<S>::value> >::apply(Xs&&, F&&) [with Xs = std::tuple<boost::hana::test::ct_eq<0> >&; F = boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::test::_injection<0> > >; S = boost::hana::ext::std::tuple_tag]'
../boost/hana/transform.hpp:40:32: required from 'constexpr auto boost::hana::transform_t::operator()(Xs&&, F&&) const [with Xs = std::tuple<boost::hana::test::ct_eq<0> >&; F = boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::test::_injection<0> > >]'
../boost/hana/chain.hpp:44:49: required from 'static constexpr auto boost::hana::chain_impl<M, boost::hana::when<condition> >::apply(Xs&&, F&&) [with Xs = std::tuple<boost::hana::test::ct_eq<0> >&; F = boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::test::_injection<0> > >; M = boost::hana::ext::std::tuple_tag; bool condition = true]'
../boost/hana/chain.hpp:36:28: required from 'constexpr decltype(auto) boost::hana::chain_t::operator()(Xs&&, F&&) const [with Xs = std::tuple<boost::hana::test::ct_eq<0> >&; F = boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::test::_injection<0> > >]'
../libs/hana/test/ext/std/bugs/libcxx_22806.cpp:20:16: required from here
../boost/hana/fwd/unpack.hpp:84:12: error: ambiguous template instantiation for 'struct boost::hana::unpack_impl<boost::hana::ext::std::tuple_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::tuple_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::tuple_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::tuple_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::tuple_tag, boost::hana::when<true> >'
../boost/hana/unpack.hpp: In instantiation of 'constexpr decltype(auto) boost::hana::unpack_t::operator()(Xs&&, F&&) const [with Xs = std::tuple<boost::hana::test::ct_eq<0> >&; F = boost::hana::transform_impl<boost::hana::ext::std::tuple_tag, boost::hana::when<true> >::transformer<boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::test::_injection<0> > >*>]':
../boost/hana/transform.hpp:70:32: required from 'static constexpr auto boost::hana::transform_impl<S, boost::hana::when<boost::hana::Sequence<S>::value> >::apply(Xs&&, F&&) [with Xs = std::tuple<boost::hana::test::ct_eq<0> >&; F = boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::test::_injection<0> > >; S = boost::hana::ext::std::tuple_tag]'
../boost/hana/transform.hpp:40:32: required from 'constexpr auto boost::hana::transform_t::operator()(Xs&&, F&&) const [with Xs = std::tuple<boost::hana::test::ct_eq<0> >&; F = boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::test::_injection<0> > >]'
../boost/hana/chain.hpp:44:49: required from 'static constexpr auto boost::hana::chain_impl<M, boost::hana::when<condition> >::apply(Xs&&, F&&) [with Xs = std::tuple<boost::hana::test::ct_eq<0> >&; F = boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::test::_injection<0> > >; M = boost::hana::ext::std::tuple_tag; bool condition = true]'
../boost/hana/chain.hpp:36:28: required from 'constexpr decltype(auto) boost::hana::chain_t::operator()(Xs&&, F&&) const [with Xs = std::tuple<boost::hana::test::ct_eq<0> >&; F = boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::_compose<boost::hana::lift_t<boost::hana::ext::std::tuple_tag>, boost::hana::test::_injection<0> > >]'
../libs/hana/test/ext/std/bugs/libcxx_22806.cpp:20:16: required from here
../boost/hana/unpack.hpp:47:29: error: 'apply' is not a member of 'Unpack' {aka 'boost::hana::unpack_impl<boost::hana::ext::std::tuple_tag, void>'}
47 | return Unpack::apply(static_cast<Xs&&>(xs), static_cast<F&&>(f));
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~