Test output: teeks99-dkr-mg12 - hana - test~ext~std~tuple~issue_90 / gcc-12~c++17
Rev 7e09330c84621efd22370bf57289b67c7283ee21 / Sat, 16 Nov 2024 09:26:04 +0000
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~tuple~issue_90.test/gcc-12~c++17/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/ext/std/tuple/issue_90.o" "../libs/hana/test/ext/std/tuple/issue_90.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 ../libs/hana/test/ext/std/tuple/issue_90.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/length.hpp:27:15:   required from 'constexpr auto boost::hana::length_t::operator()(const Xs&) const [with Xs = std::tuple<RefOnly>]'
../boost/hana/back.hpp:46:62:   required from 'static constexpr decltype(auto) boost::hana::back_impl<It, boost::hana::when<condition> >::apply(Xs&&) [with Xs = std::tuple<RefOnly>; It = boost::hana::ext::std::tuple_tag; bool condition = true]'
../boost/hana/back.hpp:38:27:   required from 'constexpr decltype(auto) boost::hana::back_t::operator()(Xs&&) const [with Xs = std::tuple<RefOnly>]'
../libs/hana/test/ext/std/tuple/issue_90.cpp:57:34:   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> >'
In file included from ../boost/hana/detail/operators/comparable.hpp:15,
                 from ../boost/hana/pair.hpp:20,
                 from ../boost/hana/unpack.hpp:26:
../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 = const RefOnly_i<3>&; Y = const RefOnly_i<3>&]'
../boost/hana/at_key.hpp:69:35:   required from 'constexpr auto boost::hana::at_key_detail::equal_to<T>::operator()(const U&) const [with U = RefOnly_i<3>; T = RefOnly_i<3>]'
../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 = std::tuple<RefOnly_i<3> >; Pred = boost::hana::at_key_detail::equal_to<RefOnly_i<3> >; long unsigned int i = 0; long unsigned int N = 1]'
../boost/hana/index_if.hpp:78:31:   required by substitution of 'template<class Xs, class Pred> static constexpr typename boost::hana::detail::iterate_while<0, decltype (boost::hana::length(xs))::value, false>::f<Xs, Pred> boost::hana::index_if_impl<boost::hana::ext::std::tuple_tag, boost::hana::when<true> >::apply(const Xs&, const Pred&) [with Xs = std::tuple<RefOnly_i<3> >; Pred = boost::hana::at_key_detail::equal_to<RefOnly_i<3> >]'
../boost/hana/index_if.hpp:44:30:   required from 'constexpr auto boost::hana::index_if_t::operator()(Xs&&, Pred&&) const [with Xs = std::tuple<RefOnly_i<3> >&; Pred = boost::hana::at_key_detail::equal_to<RefOnly_i<3> >]'
../boost/hana/at_key.hpp:78:51:   required from 'static constexpr decltype(auto) boost::hana::at_key_impl<S, boost::hana::when<boost::hana::Sequence<S>::value> >::apply(Xs&&, const Key&) [with Xs = std::tuple<RefOnly_i<3> >&; Key = RefOnly_i<3>; S = boost::hana::ext::std::tuple_tag]'
../boost/hana/at_key.hpp:51:28:   required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = std::tuple<RefOnly_i<3> >&; Key = RefOnly_i<3>]'
../libs/hana/test/ext/std/tuple/issue_90.cpp:67:40:   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 ../boost/hana/at_key.hpp:23,
                 from ../libs/hana/test/ext/std/tuple/issue_90.cpp:6:
../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 = const RefOnly_i<3>&; Y = const RefOnly_i<3>&]':
../boost/hana/at_key.hpp:69:35:   required from 'constexpr auto boost::hana::at_key_detail::equal_to<T>::operator()(const U&) const [with U = RefOnly_i<3>; T = RefOnly_i<3>]'
../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 = std::tuple<RefOnly_i<3> >; Pred = boost::hana::at_key_detail::equal_to<RefOnly_i<3> >; long unsigned int i = 0; long unsigned int N = 1]'
../boost/hana/index_if.hpp:78:31:   required by substitution of 'template<class Xs, class Pred> static constexpr typename boost::hana::detail::iterate_while<0, decltype (boost::hana::length(xs))::value, false>::f<Xs, Pred> boost::hana::index_if_impl<boost::hana::ext::std::tuple_tag, boost::hana::when<true> >::apply(const Xs&, const Pred&) [with Xs = std::tuple<RefOnly_i<3> >; Pred = boost::hana::at_key_detail::equal_to<RefOnly_i<3> >]'
../boost/hana/index_if.hpp:44:30:   required from 'constexpr auto boost::hana::index_if_t::operator()(Xs&&, Pred&&) const [with Xs = std::tuple<RefOnly_i<3> >&; Pred = boost::hana::at_key_detail::equal_to<RefOnly_i<3> >]'
../boost/hana/at_key.hpp:78:51:   required from 'static constexpr decltype(auto) boost::hana::at_key_impl<S, boost::hana::when<boost::hana::Sequence<S>::value> >::apply(Xs&&, const Key&) [with Xs = std::tuple<RefOnly_i<3> >&; Key = RefOnly_i<3>; S = boost::hana::ext::std::tuple_tag]'
../boost/hana/at_key.hpp:51:28:   required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = std::tuple<RefOnly_i<3> >&; Key = RefOnly_i<3>]'
../libs/hana/test/ext/std/tuple/issue_90.cpp:67:40:   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/at_key.hpp:18:
../boost/hana/index_if.hpp: In instantiation of 'constexpr auto boost::hana::index_if_t::operator()(Xs&&, Pred&&) const [with Xs = std::tuple<RefOnly_i<3> >&; Pred = boost::hana::at_key_detail::equal_to<RefOnly_i<3> >]':
../boost/hana/at_key.hpp:78:51:   required from 'static constexpr decltype(auto) boost::hana::at_key_impl<S, boost::hana::when<boost::hana::Sequence<S>::value> >::apply(Xs&&, const Key&) [with Xs = std::tuple<RefOnly_i<3> >&; Key = RefOnly_i<3>; S = boost::hana::ext::std::tuple_tag]'
../boost/hana/at_key.hpp:51:28:   required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = std::tuple<RefOnly_i<3> >&; Key = RefOnly_i<3>]'
../libs/hana/test/ext/std/tuple/issue_90.cpp:67:40:   required from here
../boost/hana/index_if.hpp:44:30: error: no matching function for call to 'boost::hana::index_if_impl<boost::hana::ext::std::tuple_tag, void>::apply(std::tuple<RefOnly_i<3> >&, boost::hana::at_key_detail::equal_to<RefOnly_i<3> >)'
   44 |         return IndexIf::apply(static_cast<Xs&&>(xs), static_cast<Pred&&>(pred));
      |                ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/index_if.hpp:78:31: note: candidate: 'template<class Xs, class Pred> static constexpr typename boost::hana::detail::iterate_while<0, decltype (boost::hana::length(xs))::value, false>::f<Xs, Pred> boost::hana::index_if_impl<Tag, boost::hana::when<boost::hana::Foldable<T>::value> >::apply(const Xs&, const Pred&) [with Pred = Xs; Tag = boost::hana::ext::std::tuple_tag]'
   78 |         static constexpr auto apply(Xs const& xs, Pred const&)
      |                               ^~~~~
../boost/hana/index_if.hpp:78:31: note:   substitution of deduced template arguments resulted in errors seen above
../boost/hana/index_if.hpp: In instantiation of 'constexpr auto boost::hana::index_if_t::operator()(Xs&&, Pred&&) const [with Xs = const std::tuple<RefOnly_i<3> >&; Pred = boost::hana::at_key_detail::equal_to<RefOnly_i<3> >]':
../boost/hana/at_key.hpp:78:51:   required from 'static constexpr decltype(auto) boost::hana::at_key_impl<S, boost::hana::when<boost::hana::Sequence<S>::value> >::apply(Xs&&, const Key&) [with Xs = const std::tuple<RefOnly_i<3> >&; Key = RefOnly_i<3>; S = boost::hana::ext::std::tuple_tag]'
../boost/hana/at_key.hpp:51:28:   required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = const std::tuple<RefOnly_i<3> >&; Key = RefOnly_i<3>]'
../libs/hana/test/ext/std/tuple/issue_90.cpp:68:46:   required from here
../boost/hana/index_if.hpp:44:30: error: no matching function for call to 'boost::hana::index_if_impl<boost::hana::ext::std::tuple_tag, void>::apply(const std::tuple<RefOnly_i<3> >&, boost::hana::at_key_detail::equal_to<RefOnly_i<3> >)'
   44 |         return IndexIf::apply(static_cast<Xs&&>(xs), static_cast<Pred&&>(pred));
      |                ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/index_if.hpp:78:31: note: candidate: 'template<class Xs, class Pred> static constexpr typename boost::hana::detail::iterate_while<0, decltype (boost::hana::length(xs))::value, false>::f<Xs, Pred> boost::hana::index_if_impl<Tag, boost::hana::when<boost::hana::Foldable<T>::value> >::apply(const Xs&, const Pred&) [with Pred = Xs; Tag = boost::hana::ext::std::tuple_tag]'
   78 |         static constexpr auto apply(Xs const& xs, Pred const&)
      |                               ^~~~~
../boost/hana/index_if.hpp:78:31: note:   template argument deduction/substitution failed:
../boost/hana/index_if.hpp: In instantiation of 'constexpr auto boost::hana::index_if_t::operator()(Xs&&, Pred&&) const [with Xs = std::tuple<RefOnly_i<3> >; Pred = boost::hana::at_key_detail::equal_to<RefOnly_i<3> >]':
../boost/hana/at_key.hpp:78:51:   required from 'static constexpr decltype(auto) boost::hana::at_key_impl<S, boost::hana::when<boost::hana::Sequence<S>::value> >::apply(Xs&&, const Key&) [with Xs = std::tuple<RefOnly_i<3> >; Key = RefOnly_i<3>; S = boost::hana::ext::std::tuple_tag]'
../boost/hana/at_key.hpp:51:28:   required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = std::tuple<RefOnly_i<3> >; Key = RefOnly_i<3>]'
../libs/hana/test/ext/std/tuple/issue_90.cpp:69:41:   required from here
../boost/hana/index_if.hpp:44:30: error: no matching function for call to 'boost::hana::index_if_impl<boost::hana::ext::std::tuple_tag, void>::apply(std::tuple<RefOnly_i<3> >, boost::hana::at_key_detail::equal_to<RefOnly_i<3> >)'
   44 |         return IndexIf::apply(static_cast<Xs&&>(xs), static_cast<Pred&&>(pred));
      |                ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/index_if.hpp:78:31: note: candidate: 'template<class Xs, class Pred> static constexpr typename boost::hana::detail::iterate_while<0, decltype (boost::hana::length(xs))::value, false>::f<Xs, Pred> boost::hana::index_if_impl<Tag, boost::hana::when<boost::hana::Foldable<T>::value> >::apply(const Xs&, const Pred&) [with Pred = Xs; Tag = boost::hana::ext::std::tuple_tag]'
   78 |         static constexpr auto apply(Xs const& xs, Pred const&)
      |                               ^~~~~
../boost/hana/index_if.hpp:78:31: note:   template argument deduction/substitution failed: