Test output: teeks99-dkr-dg12 - hana - test~tuple~issue_90 / gcc-12~c++17
Rev 8a1a5f3a64b5f11de2ff03a1d6fb9372a5c51e66 / Fri, 15 Nov 2024 15:30:25 +0000
Compile [2024-11-15 18:22:17 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~tuple~issue_90.test/gcc-12~c++17/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/tuple/issue_90.o" "../libs/hana/test/tuple/issue_90.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/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/tuple/issue_90.cpp:5:
../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/detail/index_if.hpp:32:37:   required by substitution of 'template<long unsigned int i, long unsigned int N> template<class Pred, class X1, class ... Xs> using f = typename boost::hana::detail::index_if_helper<(i + 1), N, static_cast<bool>(typename boost::hana::detail::decay<decltype (declval<Pred>()(declval<X1>()))>::type::value)>::f<Pred, Xs ...> [with Pred = boost::hana::at_key_detail::equal_to<RefOnly_i<3> >; X1 = RefOnly_i<3>; Xs = {}; long unsigned int i = 0; long unsigned int N = 1]'
../boost/hana/detail/index_if.hpp:50:15:   required from 'struct boost::hana::detail::index_if<boost::hana::at_key_detail::equal_to<RefOnly_i<3> >, RefOnly_i<3> >'
../boost/hana/tuple.hpp:298:31:   required by substitution of 'template<class ... Xs, class Pred> static constexpr typename boost::hana::detail::index_if<Pred, Xs ...>::type boost::hana::index_if_impl<boost::hana::tuple_tag>::apply(const boost::hana::tuple<Xn ...>&, const Pred&) [with Xs = {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 = boost::hana::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 = boost::hana::tuple<RefOnly_i<3> >&; Key = RefOnly_i<3>; S = boost::hana::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 = boost::hana::tuple<RefOnly_i<3> >&; Key = RefOnly_i<3>]'
../libs/hana/test/tuple/issue_90.cpp:66: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/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/detail/index_if.hpp:32:37:   required by substitution of 'template<long unsigned int i, long unsigned int N> template<class Pred, class X1, class ... Xs> using f = typename boost::hana::detail::index_if_helper<(i + 1), N, static_cast<bool>(typename boost::hana::detail::decay<decltype (declval<Pred>()(declval<X1>()))>::type::value)>::f<Pred, Xs ...> [with Pred = boost::hana::at_key_detail::equal_to<RefOnly_i<3> >; X1 = RefOnly_i<3>; Xs = {}; long unsigned int i = 0; long unsigned int N = 1]'
../boost/hana/detail/index_if.hpp:50:15:   required from 'struct boost::hana::detail::index_if<boost::hana::at_key_detail::equal_to<RefOnly_i<3> >, RefOnly_i<3> >'
../boost/hana/tuple.hpp:298:31:   required by substitution of 'template<class ... Xs, class Pred> static constexpr typename boost::hana::detail::index_if<Pred, Xs ...>::type boost::hana::index_if_impl<boost::hana::tuple_tag>::apply(const boost::hana::tuple<Xn ...>&, const Pred&) [with Xs = {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 = boost::hana::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 = boost::hana::tuple<RefOnly_i<3> >&; Key = RefOnly_i<3>; S = boost::hana::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 = boost::hana::tuple<RefOnly_i<3> >&; Key = RefOnly_i<3>]'
../libs/hana/test/tuple/issue_90.cpp:66: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 = boost::hana::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 = boost::hana::tuple<RefOnly_i<3> >&; Key = RefOnly_i<3>; S = boost::hana::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 = boost::hana::tuple<RefOnly_i<3> >&; Key = RefOnly_i<3>]'
../libs/hana/test/tuple/issue_90.cpp:66: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::tuple_tag>::apply(boost::hana::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));
      |                ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../libs/hana/test/tuple/issue_90.cpp:10:
../boost/hana/tuple.hpp:298:31: note: candidate: 'template<class ... Xs, class Pred> static constexpr typename boost::hana::detail::index_if<Pred, Xs ...>::type boost::hana::index_if_impl<boost::hana::tuple_tag>::apply(const boost::hana::tuple<Xn ...>&, const Pred&)'
  298 |         static constexpr auto apply(tuple<Xs...> const&, Pred const&)
      |                               ^~~~~
../boost/hana/tuple.hpp:298: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 boost::hana::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 boost::hana::tuple<RefOnly_i<3> >&; Key = RefOnly_i<3>; S = boost::hana::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 boost::hana::tuple<RefOnly_i<3> >&; Key = RefOnly_i<3>]'
../libs/hana/test/tuple/issue_90.cpp:67: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::tuple_tag>::apply(const boost::hana::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/tuple.hpp:298:31: note: candidate: 'template<class ... Xs, class Pred> static constexpr typename boost::hana::detail::index_if<Pred, Xs ...>::type boost::hana::index_if_impl<boost::hana::tuple_tag>::apply(const boost::hana::tuple<Xn ...>&, const Pred&)'
  298 |         static constexpr auto apply(tuple<Xs...> const&, Pred const&)
      |                               ^~~~~
../boost/hana/tuple.hpp:298: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 = boost::hana::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 = boost::hana::tuple<RefOnly_i<3> >; Key = RefOnly_i<3>; S = boost::hana::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 = boost::hana::tuple<RefOnly_i<3> >; Key = RefOnly_i<3>]'
../libs/hana/test/tuple/issue_90.cpp:68: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::tuple_tag>::apply(boost::hana::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/tuple.hpp:298:31: note: candidate: 'template<class ... Xs, class Pred> static constexpr typename boost::hana::detail::index_if<Pred, Xs ...>::type boost::hana::index_if_impl<boost::hana::tuple_tag>::apply(const boost::hana::tuple<Xn ...>&, const Pred&)'
  298 |         static constexpr auto apply(tuple<Xs...> const&, Pred const&)
      |                               ^~~~~
../boost/hana/tuple.hpp:298:31: note:   template argument deduction/substitution failed: