Test output: teeks99-dkr-dg12 - hana - test~group / 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~group.test/gcc-12~c++17/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/group.o" "../libs/hana/test/group.cpp"

In file included from ../boost/hana/detail/operators/arithmetic.hpp:19,
                 from ../boost/hana/bool.hpp:19,
                 from ../boost/hana/eval_if.hpp:15,
                 from ../boost/hana/concept/logical.hpp:19,
                 from ../boost/hana/if.hpp:15,
                 from ../boost/hana/assert.hpp:16,
                 from ../libs/hana/test/group.cpp:5:
../boost/hana/fwd/negate.hpp: In instantiation of 'struct boost::hana::negate_impl<int, 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::negate_impl<int, void>]'
../boost/hana/concept/group.hpp:27:65:   required from 'struct boost::hana::Group<int>'
../boost/hana/minus.hpp:36:23:   required from 'constexpr decltype(auto) boost::hana::minus_t::operator()(X&&, Y&&) const [with X = int; Y = int]'
../libs/hana/test/group.cpp:20:30:   required from here
../boost/hana/fwd/negate.hpp:31:12: error: ambiguous template instantiation for 'struct boost::hana::negate_impl<int, boost::hana::when<true> >'
   31 |     struct negate_impl : negate_impl<G, when<true>> { };
      |            ^~~~~~~~~~~
In file included from ../boost/hana/concept/group.hpp:20,
                 from ../libs/hana/test/group.cpp:6:
../boost/hana/negate.hpp:43:12: note: candidates are: 'template<class T, bool condition> struct boost::hana::negate_impl<T, boost::hana::when<condition> > [with T = int; bool condition = true]'
   43 |     struct negate_impl<T, when<condition>> : default_ {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/negate.hpp:53:12: note:                 'template<class T> struct boost::hana::negate_impl<T, boost::hana::when<(std::is_arithmetic<_Tp>::value && (! std::is_same<bool, T>::value))> > [with T = int]'
   53 |     struct negate_impl<T, when<std::is_arithmetic<T>::value &&
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   54 |                                !std::is_same<bool, T>::value>> {
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/fwd/negate.hpp:31:12: error: invalid use of incomplete type 'struct boost::hana::negate_impl<int, boost::hana::when<true> >'
   31 |     struct negate_impl : negate_impl<G, when<true>> { };
      |            ^~~~~~~~~~~
../boost/hana/fwd/negate.hpp:31:12: note: declaration of 'struct boost::hana::negate_impl<int, boost::hana::when<true> >'
In file included from ../boost/hana/detail/operators/arithmetic.hpp:16:
../boost/hana/fwd/minus.hpp: In instantiation of 'struct boost::hana::minus_impl<int, int, 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::minus_impl<int, int, void>]'
../boost/hana/concept/group.hpp:29:64:   required from 'struct boost::hana::Group<int>'
../boost/hana/minus.hpp:36:23:   required from 'constexpr decltype(auto) boost::hana::minus_t::operator()(X&&, Y&&) const [with X = int; Y = int]'
../libs/hana/test/group.cpp:20:30:   required from here
../boost/hana/fwd/minus.hpp:56:12: error: ambiguous template instantiation for 'struct boost::hana::minus_impl<int, int, boost::hana::when<true> >'
   56 |     struct minus_impl : minus_impl<T, U, when<true>> { };
      |            ^~~~~~~~~~
In file included from ../boost/hana/concept/group.hpp:19:
../boost/hana/minus.hpp:54:12: note: candidates are: 'template<class T, class U, bool condition> struct boost::hana::minus_impl<T, U, boost::hana::when<condition> > [with T = int; U = int; bool condition = true]'
   54 |     struct minus_impl<T, U, when<condition>> : default_ {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/minus.hpp:60:12: note:                 'template<class T, bool condition> struct boost::hana::minus_impl<T, T, boost::hana::when<condition> > [with T = int; bool condition = true]'
   60 |     struct minus_impl<T, T, when<condition>> : default_ {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/minus.hpp:85:12: note:                 'template<class T> struct boost::hana::minus_impl<T, T, boost::hana::when<(std::is_arithmetic<_Tp>::value && (! std::is_same<bool, T>::value))> > [with T = int]'
   85 |     struct minus_impl<T, T, when<std::is_arithmetic<T>::value &&
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   86 |                                  !std::is_same<bool, T>::value>> {
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/fwd/minus.hpp:56:12: error: invalid use of incomplete type 'struct boost::hana::minus_impl<int, int, boost::hana::when<true> >'
   56 |     struct minus_impl : minus_impl<T, U, when<true>> { };
      |            ^~~~~~~~~~
../boost/hana/fwd/minus.hpp:56:12: note: declaration of 'struct boost::hana::minus_impl<int, int, boost::hana::when<true> >'
../boost/hana/minus.hpp: In instantiation of 'constexpr decltype(auto) boost::hana::minus_t::operator()(X&&, Y&&) const [with X = int; Y = int]':
../libs/hana/test/group.cpp:20:30:   required from here
../boost/hana/minus.hpp:49:28: error: 'apply' is not a member of 'Minus' {aka 'boost::hana::minus_impl<int, int, void>'}
   49 |         return Minus::apply(static_cast<X&&>(x), static_cast<Y&&>(y));
      |                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/negate.hpp: In instantiation of 'constexpr decltype(auto) boost::hana::negate_t::operator()(X&&) const [with X = int]':
../libs/hana/test/group.cpp:23:31:   required from here
../boost/hana/negate.hpp:38:29: error: 'apply' is not a member of 'Negate' {aka 'boost::hana::negate_impl<int, void>'}
   38 |         return Negate::apply(static_cast<X&&>(x));
      |                ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../boost/hana/zero.hpp:13,
                 from ../boost/hana/concept/monoid.hpp:20,
                 from ../boost/hana/plus.hpp:16,
                 from ../boost/hana/minus.hpp:24:
../boost/hana/fwd/zero.hpp: In instantiation of 'struct boost::hana::zero_impl<int, 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::zero_impl<int, void>]'
../boost/hana/concept/monoid.hpp:27:63:   required from 'struct boost::hana::Monoid<int>'
../boost/hana/zero.hpp:30:40:   required from 'constexpr decltype(auto) boost::hana::zero_t<M>::operator()() const [with M = int]'
../libs/hana/test/_include/laws/group.hpp:39:17:   required from 'boost::hana::test::TestGroup<G, boost::hana::test::laws>::TestGroup(Xs) [with Xs = boost::hana::tuple<int, int, int, int, int, int>; G = int]'
../libs/hana/test/_include/laws/group.hpp:21:35:   required from here
../boost/hana/fwd/zero.hpp:35:12: error: ambiguous template instantiation for 'struct boost::hana::zero_impl<int, boost::hana::when<true> >'
   35 |     struct zero_impl : zero_impl<M, when<true>> { };
      |            ^~~~~~~~~
../boost/hana/zero.hpp:43:12: note: candidates are: 'template<class M, bool condition> struct boost::hana::zero_impl<M, boost::hana::when<condition> > [with M = int; bool condition = true]'
   43 |     struct zero_impl<M, when<condition>> : default_ {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/zero.hpp:52:12: note:                 'template<class T> struct boost::hana::zero_impl<T, boost::hana::when<(std::is_arithmetic<_Tp>::value && (! std::is_same<T, bool>::value))> > [with T = int]'
   52 |     struct zero_impl<T, when<
      |            ^~~~~~~~~~~~~~~~~~
   53 |         std::is_arithmetic<T>::value &&
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   54 |         !std::is_same<T, bool>::value
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   55 |     >> {
      |     ~~      
../boost/hana/fwd/zero.hpp:35:12: error: invalid use of incomplete type 'struct boost::hana::zero_impl<int, boost::hana::when<true> >'
   35 |     struct zero_impl : zero_impl<M, when<true>> { };
      |            ^~~~~~~~~
../boost/hana/fwd/zero.hpp:35:12: note: declaration of 'struct boost::hana::zero_impl<int, boost::hana::when<true> >'
In file included from ../boost/hana/detail/operators/arithmetic.hpp:20:
../boost/hana/fwd/plus.hpp: In instantiation of 'struct boost::hana::plus_impl<int, int, 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::plus_impl<int, int, void>]'
../boost/hana/concept/monoid.hpp:29:63:   required from 'struct boost::hana::Monoid<int>'
../boost/hana/zero.hpp:30:40:   required from 'constexpr decltype(auto) boost::hana::zero_t<M>::operator()() const [with M = int]'
../libs/hana/test/_include/laws/group.hpp:39:17:   required from 'boost::hana::test::TestGroup<G, boost::hana::test::laws>::TestGroup(Xs) [with Xs = boost::hana::tuple<int, int, int, int, int, int>; G = int]'
../libs/hana/test/_include/laws/group.hpp:21:35:   required from here
../boost/hana/fwd/plus.hpp:52:12: error: ambiguous template instantiation for 'struct boost::hana::plus_impl<int, int, boost::hana::when<true> >'
   52 |     struct plus_impl : plus_impl<T, U, when<true>> { };
      |            ^~~~~~~~~
../boost/hana/plus.hpp:56:12: note: candidates are: 'template<class T, class U, bool condition> struct boost::hana::plus_impl<T, U, boost::hana::when<condition> > [with T = int; U = int; bool condition = true]'
   56 |     struct plus_impl<T, U, when<condition>> : default_ {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/plus.hpp:78:12: note:                 'template<class T> struct boost::hana::plus_impl<T, T, boost::hana::when<(std::is_arithmetic<_Tp>::value && (! std::is_same<T, bool>::value))> > [with T = int]'
   78 |     struct plus_impl<T, T, when<
      |            ^~~~~~~~~~~~~~~~~~~~~
   79 |         std::is_arithmetic<T>::value &&
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   80 |         !std::is_same<T, bool>::value
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   81 |     >> {
      |     ~~      
../boost/hana/fwd/plus.hpp:52:12: error: invalid use of incomplete type 'struct boost::hana::plus_impl<int, int, boost::hana::when<true> >'
   52 |     struct plus_impl : plus_impl<T, U, when<true>> { };
      |            ^~~~~~~~~
../boost/hana/fwd/plus.hpp:52:12: note: declaration of 'struct boost::hana::plus_impl<int, int, boost::hana::when<true> >'
../boost/hana/zero.hpp: In instantiation of 'constexpr decltype(auto) boost::hana::zero_t<M>::operator()() const [with M = int]':
../libs/hana/test/_include/laws/group.hpp:39:17:   required from 'boost::hana::test::TestGroup<G, boost::hana::test::laws>::TestGroup(Xs) [with Xs = boost::hana::tuple<int, int, int, int, int, int>; G = int]'
../libs/hana/test/_include/laws/group.hpp:21:35:   required from here
../boost/hana/zero.hpp:38:27: error: 'apply' is not a member of 'Zero' {aka 'boost::hana::zero_impl<int, void>'}
   38 |         return Zero::apply();
      |                ~~~~~~~~~~~^~
../boost/hana/fwd/zero.hpp: In instantiation of 'struct boost::hana::zero_impl<long int, 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::zero_impl<long int, void>]'
../boost/hana/concept/monoid.hpp:27:63:   required from 'struct boost::hana::Monoid<long int>'
../boost/hana/zero.hpp:30:40:   required from 'constexpr decltype(auto) boost::hana::zero_t<M>::operator()() const [with M = long int]'
../libs/hana/test/_include/laws/group.hpp:39:17:   required from 'boost::hana::test::TestGroup<G, boost::hana::test::laws>::TestGroup(Xs) [with Xs = boost::hana::tuple<long int, long int, long int, long int, long int, long int>; G = long int]'
../libs/hana/test/_include/laws/group.hpp:21:35:   required from here
../boost/hana/fwd/zero.hpp:35:12: error: ambiguous template instantiation for 'struct boost::hana::zero_impl<long int, boost::hana::when<true> >'
   35 |     struct zero_impl : zero_impl<M, when<true>> { };
      |            ^~~~~~~~~
../boost/hana/zero.hpp:43:12: note: candidates are: 'template<class M, bool condition> struct boost::hana::zero_impl<M, boost::hana::when<condition> > [with M = long int; bool condition = true]'
   43 |     struct zero_impl<M, when<condition>> : default_ {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/zero.hpp:52:12: note:                 'template<class T> struct boost::hana::zero_impl<T, boost::hana::when<(std::is_arithmetic<_Tp>::value && (! std::is_same<T, bool>::value))> > [with T = long int]'
   52 |     struct zero_impl<T, when<
      |            ^~~~~~~~~~~~~~~~~~
   53 |         std::is_arithmetic<T>::value &&
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   54 |         !std::is_same<T, bool>::value
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   55 |     >> {
      |     ~~      
../boost/hana/fwd/zero.hpp:35:12: error: invalid use of incomplete type 'struct boost::hana::zero_impl<long int, boost::hana::when<true> >'
   35 |     struct zero_impl : zero_impl<M, when<true>> { };
      |            ^~~~~~~~~
../boost/hana/fwd/zero.hpp:35:12: note: declaration of 'struct boost::hana::zero_impl<long int, boost::hana::when<true> >'
../boost/hana/fwd/plus.hpp: In instantiation of 'struct boost::hana::plus_impl<long int, long int, 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::plus_impl<long int, long int, void>]'
../boost/hana/concept/monoid.hpp:29:63:   required from 'struct boost::hana::Monoid<long int>'
../boost/hana/zero.hpp:30:40:   required from 'constexpr decltype(auto) boost::hana::zero_t<M>::operator()() const [with M = long int]'
../libs/hana/test/_include/laws/group.hpp:39:17:   required from 'boost::hana::test::TestGroup<G, boost::hana::test::laws>::TestGroup(Xs) [with Xs = boost::hana::tuple<long int, long int, long int, long int, long int, long int>; G = long int]'
../libs/hana/test/_include/laws/group.hpp:21:35:   required from here
../boost/hana/fwd/plus.hpp:52:12: error: ambiguous template instantiation for 'struct boost::hana::plus_impl<long int, long int, boost::hana::when<true> >'
   52 |     struct plus_impl : plus_impl<T, U, when<true>> { };
      |            ^~~~~~~~~
../boost/hana/plus.hpp:56:12: note: candidates are: 'template<class T, class U, bool condition> struct boost::hana::plus_impl<T, U, boost::hana::when<condition> > [with T = long int; U = long int; bool condition = true]'
   56 |     struct plus_impl<T, U, when<condition>> : default_ {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/plus.hpp:78:12: note:                 'template<class T> struct boost::hana::plus_impl<T, T, boost::hana::when<(std::is_arithmetic<_Tp>::value && (! std::is_same<T, bool>::value))> > [with T = long int]'
   78 |     struct plus_impl<T, T, when<
      |            ^~~~~~~~~~~~~~~~~~~~~
   79 |         std::is_arithmetic<T>::value &&
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   80 |         !std::is_same<T, bool>::value
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   81 |     >> {
      |     ~~      
../boost/hana/fwd/plus.hpp:52:12: error: invalid use of incomplete type 'struct boost::hana::plus_impl<long int, long int, boost::hana::when<true> >'
   52 |     struct plus_impl : plus_impl<T, U, when<true>> { };
      |            ^~~~~~~~~
../boost/hana/fwd/plus.hpp:52:12: note: declaration of 'struct boost::hana::plus_impl<long int, long int, boost::hana::when<true> >'
../boost/hana/zero.hpp: In instantiation of 'constexpr decltype(auto) boost::hana::zero_t<M>::operator()() const [with M = long int]':
../libs/hana/test/_include/laws/group.hpp:39:17:   required from 'boost::hana::test::TestGroup<G, boost::hana::test::laws>::TestGroup(Xs) [with Xs = boost::hana::tuple<long int, long int, long int, long int, long int, long int>; G = long int]'
../libs/hana/test/_include/laws/group.hpp:21:35:   required from here
../boost/hana/zero.hpp:38:27: error: 'apply' is not a member of 'Zero' {aka 'boost::hana::zero_impl<long int, void>'}
   38 |         return Zero::apply();
      |                ~~~~~~~~~~~^~
../boost/hana/fwd/negate.hpp: In instantiation of 'struct boost::hana::negate_impl<long int, 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::negate_impl<long int, void>]'
../boost/hana/concept/group.hpp:27:65:   required from 'struct boost::hana::Group<long int>'
../libs/hana/test/_include/laws/group.hpp:29:31:   required from 'boost::hana::test::TestGroup<long int, boost::hana::test::laws>::TestGroup<boost::hana::tuple<long int, long int, long int, long int, long int, long int> >(boost::hana::tuple<long int, long int, long int, long int, long int, long int>)::<lambda(auto:2)> [with auto:2 = long int]'
../boost/hana/for_each.hpp:46:45:   required from 'constexpr void boost::hana::detail::on_each<F>::operator()(Xs&& ...) const [with Xs = {long int&, long int&, long int&, long int&, long int&, long int&}; F = boost::hana::test::TestGroup<long int, boost::hana::test::laws>::TestGroup<boost::hana::tuple<long int, long int, long int, long int, long int, long int> >(boost::hana::tuple<long int, long int, long int, long int, long int, long int>)::<lambda(auto:2)>*]'
../boost/hana/basic_tuple.hpp:125:39:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../boost/hana/tuple.hpp:233:32:   required from 'static constexpr decltype(auto) boost::hana::unpack_impl<boost::hana::tuple_tag>::apply(Xs&&, F&&) [with Xs = boost::hana::tuple<long int, long int, long int, long int, long int, long int>&; F = boost::hana::detail::on_each<boost::hana::test::TestGroup<long int, boost::hana::test::laws>::TestGroup<boost::hana::tuple<long int, long int, long int, long int, long int, long int> >(boost::hana::tuple<long int, long int, long int, long int, long int, long int>)::<lambda(auto:2)>*>]'
../boost/hana/unpack.hpp:47:29:   required from 'constexpr decltype(auto) boost::hana::unpack_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::tuple<long int, long int, long int, long int, long int, long int>&; F = boost::hana::detail::on_each<boost::hana::test::TestGroup<long int, boost::hana::test::laws>::TestGroup<boost::hana::tuple<long int, long int, long int, long int, long int, long int> >(boost::hana::tuple<long int, long int, long int, long int, long int, long int>)::<lambda(auto:2)>*>]'
../boost/hana/for_each.hpp:56:25:   required from 'static constexpr void boost::hana::for_each_impl<T, boost::hana::when<condition> >::apply(Xs&&, F&&) [with Xs = boost::hana::tuple<long int, long int, long int, long int, long int, long int>&; F = boost::hana::test::TestGroup<long int, boost::hana::test::laws>::TestGroup<boost::hana::tuple<long int, long int, long int, long int, long int, long int> >(boost::hana::tuple<long int, long int, long int, long int, long int, long int>)::<lambda(auto:2)>; T = boost::hana::tuple_tag; bool condition = true]'
../boost/hana/for_each.hpp:35:30:   required from 'constexpr void boost::hana::for_each_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::tuple<long int, long int, long int, long int, long int, long int>&; F = boost::hana::test::TestGroup<long int, boost::hana::test::laws>::TestGroup<boost::hana::tuple<long int, long int, long int, long int, long int, long int> >(boost::hana::tuple<long int, long int, long int, long int, long int, long int>)::<lambda(auto:2)>]'
../libs/hana/test/_include/laws/group.hpp:28:27:   required from 'boost::hana::test::TestGroup<G, boost::hana::test::laws>::TestGroup(Xs) [with Xs = boost::hana::tuple<long int, long int, long int, long int, long int, long int>; G = long int]'
../libs/hana/test/_include/laws/group.hpp:21:35:   required from here
../boost/hana/fwd/negate.hpp:31:12: error: ambiguous template instantiation for 'struct boost::hana::negate_impl<long int, boost::hana::when<true> >'
   31 |     struct negate_impl : negate_impl<G, when<true>> { };
      |            ^~~~~~~~~~~
../boost/hana/negate.hpp:43:12: note: candidates are: 'template<class T, bool condition> struct boost::hana::negate_impl<T, boost::hana::when<condition> > [with T = long int; bool condition = true]'
   43 |     struct negate_impl<T, when<condition>> : default_ {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/negate.hpp:53:12: note:                 'template<class T> struct boost::hana::negate_impl<T, boost::hana::when<(std::is_arithmetic<_Tp>::value && (! std::is_same<bool, T>::value))> > [with T = long int]'
   53 |     struct negate_impl<T, when<std::is_arithmetic<T>::value &&
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   54 |                                !std::is_same<bool, T>::value>> {
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/fwd/negate.hpp:31:12: error: invalid use of incomplete type 'struct boost::hana::negate_impl<long int, boost::hana::when<true> >'
   31 |     struct negate_impl : negate_impl<G, when<true>> { };
      |            ^~~~~~~~~~~
../boost/hana/fwd/negate.hpp:31:12: note: declaration of 'struct boost::hana::negate_impl<long int, boost::hana::when<true> >'
../boost/hana/fwd/minus.hpp: In instantiation of 'struct boost::hana::minus_impl<long int, long int, 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::minus_impl<long int, long int, void>]'
../boost/hana/concept/group.hpp:29:64:   required from 'struct boost::hana::Group<long int>'
../libs/hana/test/_include/laws/group.hpp:29:31:   required from 'boost::hana::test::TestGroup<long int, boost::hana::test::laws>::TestGroup<boost::hana::tuple<long int, long int, long int, long int, long int, long int> >(boost::hana::tuple<long int, long int, long int, long int, long int, long int>)::<lambda(auto:2)> [with auto:2 = long int]'
../boost/hana/for_each.hpp:46:45:   required from 'constexpr void boost::hana::detail::on_each<F>::operator()(Xs&& ...) const [with Xs = {long int&, long int&, long int&, long int&, long int&, long int&}; F = boost::hana::test::TestGroup<long int, boost::hana::test::laws>::TestGroup<boost::hana::tuple<long int, long int, long int, long int, long int, long int> >(boost::hana::tuple<long int, long int, long int, long int, long int, long int>)::<lambda(auto:2)>*]'
../boost/hana/basic_tuple.hpp:125:39:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../boost/hana/tuple.hpp:233:32:   required from 'static constexpr decltype(auto) boost::hana::unpack_impl<boost::hana::tuple_tag>::apply(Xs&&, F&&) [with Xs = boost::hana::tuple<long int, long int, long int, long int, long int, long int>&; F = boost::hana::detail::on_each<boost::hana::test::TestGroup<long int, boost::hana::test::laws>::TestGroup<boost::hana::tuple<long int, long int, long int, long int, long int, long int> >(boost::hana::tuple<long int, long int, long int, long int, long int, long int>)::<lambda(auto:2)>*>]'
../boost/hana/unpack.hpp:47:29:   required from 'constexpr decltype(auto) boost::hana::unpack_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::tuple<long int, long int, long int, long int, long int, long int>&; F = boost::hana::detail::on_each<boost::hana::test::TestGroup<long int, boost::hana::test::laws>::TestGroup<boost::hana::tuple<long int, long int, long int, long int, long int, long int> >(boost::hana::tuple<long int, long int, long int, long int, long int, long int>)::<lambda(auto:2)>*>]'
../boost/hana/for_each.hpp:56:25:   required from 'static constexpr void boost::hana::for_each_impl<T, boost::hana::when<condition> >::apply(Xs&&, F&&) [with Xs = boost::hana::tuple<long int, long int, long int, long int, long int, long int>&; F = boost::hana::test::TestGroup<long int, boost::hana::test::laws>::TestGroup<boost::hana::tuple<long int, long int, long int, long int, long int, long int> >(boost::hana::tuple<long int, long int, long int, long int, long int, long int>)::<lambda(auto:2)>; T = boost::hana::tuple_tag; bool condition = true]'
../boost/hana/for_each.hpp:35:30:   required from 'constexpr void boost::hana::for_each_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::tuple<long int, long int, long int, long int, long int, long int>&; F = boost::hana::test::TestGroup<long int, boost::hana::test::laws>::TestGroup<boost::hana::tuple<long int, long int, long int, long int, long int, long int> >(boost::hana::tuple<long int, long int, long int, long int, long int, long int>)::<lambda(auto:2)>]'
../libs/hana/test/_include/laws/group.hpp:28:27:   required from 'boost::hana::test::TestGroup<G, boost::hana::test::laws>::TestGroup(Xs) [with Xs = boost::hana::tuple<long int, long int, long int, long int, long int, long int>; G = long int]'
../libs/hana/test/_include/laws/group.hpp:21:35:   required from here
../boost/hana/fwd/minus.hpp:56:12: error: ambiguous template instantiation for 'struct boost::hana::minus_impl<long int, long int, boost::hana::when<true> >'
   56 |     struct minus_impl : minus_impl<T, U, when<true>> { };
      |            ^~~~~~~~~~
../boost/hana/minus.hpp:54:12: note: candidates are: 'template<class T, class U, bool condition> struct boost::hana::minus_impl<T, U, boost::hana::when<condition> > [with T = long int; U = long int; bool condition = true]'
   54 |     struct minus_impl<T, U, when<condition>> : default_ {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/minus.hpp:60:12: note:                 'template<class T, bool condition> struct boost::hana::minus_impl<T, T, boost::hana::when<condition> > [with T = long int; bool condition = true]'
   60 |     struct minus_impl<T, T, when<condition>> : default_ {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/minus.hpp:85:12: note:                 'template<class T> struct boost::hana::minus_impl<T, T, boost::hana::when<(std::is_arithmetic<_Tp>::value && (! std::is_same<bool, T>::value))> > [with T = long int]'
   85 |     struct minus_impl<T, T, when<std::is_arithmetic<T>::value &&
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   86 |                                  !std::is_same<bool, T>::value>> {
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/fwd/minus.hpp:56:12: error: invalid use of incomplete type 'struct boost::hana::minus_impl<long int, long int, boost::hana::when<true> >'
   56 |     struct minus_impl : minus_impl<T, U, when<true>> { };
      |            ^~~~~~~~~~
../boost/hana/fwd/minus.hpp:56:12: note: declaration of 'struct boost::hana::minus_impl<long int, long int, boost::hana::when<true> >'