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

In file included from ../boost/hana/zero.hpp:13,
                 from ../boost/hana/concept/monoid.hpp:20,
                 from ../boost/hana/plus.hpp:16,
                 from ../libs/hana/test/_include/laws/euclidean_ring.hpp:21,
                 from ../libs/hana/test/ext/std/integral_constant/arithmetic.cpp:9:
../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:74:41:   required by substitution of 'template<class C> struct boost::hana::zero_impl<C, boost::hana::when<(boost::hana::Constant<C>::value && boost::hana::Monoid<typename C::value_type>::value)> > [with C = boost::hana::ext::std::integral_constant_tag<int>]'
../boost/hana/fwd/zero.hpp:35:12:   required from 'struct boost::hana::zero_impl<boost::hana::ext::std::integral_constant_tag<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<boost::hana::ext::std::integral_constant_tag<int>, void>]'
../boost/hana/concept/monoid.hpp:27:63:   required from 'struct boost::hana::Monoid<boost::hana::ext::std::integral_constant_tag<int> >'
../boost/hana/zero.hpp:30:40:   required from 'constexpr decltype(auto) boost::hana::zero_t<M>::operator()() const [with M = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/_include/laws/monoid.hpp:71:13:   required from 'boost::hana::test::TestMonoid<C, boost::hana::when<boost::hana::Constant<C>::value> >::TestMonoid(Xs) [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; C = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/ext/std/integral_constant/arithmetic.cpp:27:76:   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,
                 from ../boost/hana/bool.hpp:19,
                 from ../boost/hana/tuple.hpp:17,
                 from ../libs/hana/test/ext/std/integral_constant/arithmetic.cpp:7:
../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:74:41:   required by substitution of 'template<class C> struct boost::hana::zero_impl<C, boost::hana::when<(boost::hana::Constant<C>::value && boost::hana::Monoid<typename C::value_type>::value)> > [with C = boost::hana::ext::std::integral_constant_tag<int>]'
../boost/hana/fwd/zero.hpp:35:12:   required from 'struct boost::hana::zero_impl<boost::hana::ext::std::integral_constant_tag<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<boost::hana::ext::std::integral_constant_tag<int>, void>]'
../boost/hana/concept/monoid.hpp:27:63:   required from 'struct boost::hana::Monoid<boost::hana::ext::std::integral_constant_tag<int> >'
../boost/hana/zero.hpp:30:40:   required from 'constexpr decltype(auto) boost::hana::zero_t<M>::operator()() const [with M = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/_include/laws/monoid.hpp:71:13:   required from 'boost::hana::test::TestMonoid<C, boost::hana::when<boost::hana::Constant<C>::value> >::TestMonoid(Xs) [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; C = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/ext/std/integral_constant/arithmetic.cpp:27:76:   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/fwd/zero.hpp: In instantiation of 'struct boost::hana::zero_impl<boost::hana::ext::std::integral_constant_tag<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<boost::hana::ext::std::integral_constant_tag<int>, void>]'
../boost/hana/concept/monoid.hpp:27:63:   required from 'struct boost::hana::Monoid<boost::hana::ext::std::integral_constant_tag<int> >'
../boost/hana/zero.hpp:30:40:   required from 'constexpr decltype(auto) boost::hana::zero_t<M>::operator()() const [with M = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/_include/laws/monoid.hpp:71:13:   required from 'boost::hana::test::TestMonoid<C, boost::hana::when<boost::hana::Constant<C>::value> >::TestMonoid(Xs) [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; C = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/ext/std/integral_constant/arithmetic.cpp:27:76:   required from here
../boost/hana/fwd/zero.hpp:35:12: error: ambiguous template instantiation for 'struct boost::hana::zero_impl<boost::hana::ext::std::integral_constant_tag<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 = boost::hana::ext::std::integral_constant_tag<int>; bool condition = true]'
   43 |     struct zero_impl<M, when<condition>> : default_ {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/zero.hpp:72:12: note:                 'template<class C> struct boost::hana::zero_impl<C, boost::hana::when<(boost::hana::Constant<C>::value && boost::hana::Monoid<typename C::value_type>::value)> > [with C = boost::hana::ext::std::integral_constant_tag<int>]'
   72 |     struct zero_impl<C, when<
      |            ^~~~~~~~~~~~~~~~~~
   73 |         hana::Constant<C>::value &&
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
   74 |         Monoid<typename C::value_type>::value
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   75 |     >> {
      |     ~~      
../boost/hana/fwd/zero.hpp:35:12: error: invalid use of incomplete type 'struct boost::hana::zero_impl<boost::hana::ext::std::integral_constant_tag<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<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::when<true> >'
../boost/hana/fwd/plus.hpp: In instantiation of 'struct boost::hana::plus_impl<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::ext::std::integral_constant_tag<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<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::ext::std::integral_constant_tag<int>, void>]'
../boost/hana/concept/monoid.hpp:29:63:   required from 'struct boost::hana::Monoid<boost::hana::ext::std::integral_constant_tag<int> >'
../boost/hana/zero.hpp:30:40:   required from 'constexpr decltype(auto) boost::hana::zero_t<M>::operator()() const [with M = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/_include/laws/monoid.hpp:71:13:   required from 'boost::hana::test::TestMonoid<C, boost::hana::when<boost::hana::Constant<C>::value> >::TestMonoid(Xs) [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; C = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/ext/std/integral_constant/arithmetic.cpp:27:76:   required from here
../boost/hana/fwd/plus.hpp:52:12: error: ambiguous template instantiation for 'struct boost::hana::plus_impl<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::ext::std::integral_constant_tag<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 = boost::hana::ext::std::integral_constant_tag<int>; U = boost::hana::ext::std::integral_constant_tag<int>; bool condition = true]'
   56 |     struct plus_impl<T, U, when<condition>> : default_ {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/plus.hpp:99:12: note:                 'template<class C> struct boost::hana::plus_impl<C, C, boost::hana::when<(boost::hana::Constant<C>::value && boost::hana::Monoid<typename C::value_type>::value)> > [with C = boost::hana::ext::std::integral_constant_tag<int>]'
   99 |     struct plus_impl<C, C, when<
      |            ^~~~~~~~~~~~~~~~~~~~~
  100 |         hana::Constant<C>::value &&
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  101 |         Monoid<typename C::value_type>::value
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  102 |     >> {
      |     ~~      
../boost/hana/fwd/plus.hpp:52:12: error: invalid use of incomplete type 'struct boost::hana::plus_impl<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::ext::std::integral_constant_tag<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<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::ext::std::integral_constant_tag<int>, boost::hana::when<true> >'
../boost/hana/zero.hpp: In instantiation of 'constexpr decltype(auto) boost::hana::zero_t<M>::operator()() const [with M = boost::hana::ext::std::integral_constant_tag<int>]':
../libs/hana/test/_include/laws/monoid.hpp:71:13:   required from 'boost::hana::test::TestMonoid<C, boost::hana::when<boost::hana::Constant<C>::value> >::TestMonoid(Xs) [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; C = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/ext/std/integral_constant/arithmetic.cpp:27:76:   required from here
../boost/hana/zero.hpp:38:27: error: 'apply' is not a member of 'Zero' {aka 'boost::hana::zero_impl<boost::hana::ext::std::integral_constant_tag<int>, void>'}
   38 |         return Zero::apply();
      |                ~~~~~~~~~~~^~
../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/monoid.hpp:71:13:   required from 'boost::hana::test::TestMonoid<C, boost::hana::when<boost::hana::Constant<C>::value> >::TestMonoid(Xs) [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; C = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/ext/std/integral_constant/arithmetic.cpp:27:76:   required from here
../boost/hana/zero.hpp:38:27: error: 'apply' is not a member of 'Zero' {aka 'boost::hana::zero_impl<int, void>'}
In file included from ../boost/hana/one.hpp:13,
                 from ../boost/hana/concept/ring.hpp:20,
                 from ../boost/hana/mult.hpp:16,
                 from ../libs/hana/test/_include/laws/euclidean_ring.hpp:19:
../boost/hana/fwd/one.hpp: In instantiation of 'struct boost::hana::one_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::one_impl<int, void>]'
../boost/hana/concept/ring.hpp:27:62:   required from 'struct boost::hana::Ring<int>'
../boost/hana/one.hpp:72:39:   required by substitution of 'template<class C> struct boost::hana::one_impl<C, boost::hana::when<(boost::hana::Constant<C>::value && boost::hana::Ring<typename C::value_type>::value)> > [with C = boost::hana::ext::std::integral_constant_tag<int>]'
../boost/hana/fwd/one.hpp:35:12:   required from 'struct boost::hana::one_impl<boost::hana::ext::std::integral_constant_tag<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::one_impl<boost::hana::ext::std::integral_constant_tag<int>, void>]'
../boost/hana/concept/ring.hpp:27:62:   required from 'struct boost::hana::Ring<boost::hana::ext::std::integral_constant_tag<int> >'
../boost/hana/one.hpp:30:38:   required from 'constexpr decltype(auto) boost::hana::one_t<R>::operator()() const [with R = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/_include/laws/ring.hpp:110:13:   required from 'boost::hana::test::TestRing<C, boost::hana::when<boost::hana::Constant<C>::value> >::TestRing(Xs) [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; C = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/ext/std/integral_constant/arithmetic.cpp:29:74:   required from here
../boost/hana/fwd/one.hpp:35:12: error: ambiguous template instantiation for 'struct boost::hana::one_impl<int, boost::hana::when<true> >'
   35 |     struct one_impl : one_impl<R, when<true>> { };
      |            ^~~~~~~~
../boost/hana/one.hpp:43:12: note: candidates are: 'template<class R, bool condition> struct boost::hana::one_impl<R, boost::hana::when<condition> > [with R = int; bool condition = true]'
   43 |     struct one_impl<R, when<condition>> : default_ {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/one.hpp:52:12: note:                 'template<class T> struct boost::hana::one_impl<T, boost::hana::when<(std::is_arithmetic<_Tp>::value && (! std::is_same<bool, T>::value))> > [with T = int]'
   52 |     struct one_impl<T, when<std::is_arithmetic<T>::value &&
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   53 |                             !std::is_same<bool, T>::value>> {
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/fwd/one.hpp:35:12: error: invalid use of incomplete type 'struct boost::hana::one_impl<int, boost::hana::when<true> >'
   35 |     struct one_impl : one_impl<R, when<true>> { };
      |            ^~~~~~~~
../boost/hana/fwd/one.hpp:35:12: note: declaration of 'struct boost::hana::one_impl<int, boost::hana::when<true> >'
In file included from ../boost/hana/detail/operators/arithmetic.hpp:18:
../boost/hana/fwd/mult.hpp: In instantiation of 'struct boost::hana::mult_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::mult_impl<int, int, void>]'
../boost/hana/concept/ring.hpp:29:63:   required from 'struct boost::hana::Ring<int>'
../boost/hana/one.hpp:72:39:   required by substitution of 'template<class C> struct boost::hana::one_impl<C, boost::hana::when<(boost::hana::Constant<C>::value && boost::hana::Ring<typename C::value_type>::value)> > [with C = boost::hana::ext::std::integral_constant_tag<int>]'
../boost/hana/fwd/one.hpp:35:12:   required from 'struct boost::hana::one_impl<boost::hana::ext::std::integral_constant_tag<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::one_impl<boost::hana::ext::std::integral_constant_tag<int>, void>]'
../boost/hana/concept/ring.hpp:27:62:   required from 'struct boost::hana::Ring<boost::hana::ext::std::integral_constant_tag<int> >'
../boost/hana/one.hpp:30:38:   required from 'constexpr decltype(auto) boost::hana::one_t<R>::operator()() const [with R = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/_include/laws/ring.hpp:110:13:   required from 'boost::hana::test::TestRing<C, boost::hana::when<boost::hana::Constant<C>::value> >::TestRing(Xs) [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; C = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/ext/std/integral_constant/arithmetic.cpp:29:74:   required from here
../boost/hana/fwd/mult.hpp:52:12: error: ambiguous template instantiation for 'struct boost::hana::mult_impl<int, int, boost::hana::when<true> >'
   52 |     struct mult_impl : mult_impl<T, U, when<true>> { };
      |            ^~~~~~~~~
../boost/hana/mult.hpp:56:12: note: candidates are: 'template<class T, class U, bool condition> struct boost::hana::mult_impl<T, U, boost::hana::when<condition> > [with T = int; U = int; bool condition = true]'
   56 |     struct mult_impl<T, U, when<condition>> : default_ {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/mult.hpp:78:12: note:                 'template<class T> struct boost::hana::mult_impl<T, T, boost::hana::when<(std::is_arithmetic<_Tp>::value && (! std::is_same<bool, T>::value))> > [with T = int]'
   78 |     struct mult_impl<T, T, when<std::is_arithmetic<T>::value &&
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   79 |                                 !std::is_same<bool, T>::value>> {
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/fwd/mult.hpp:52:12: error: invalid use of incomplete type 'struct boost::hana::mult_impl<int, int, boost::hana::when<true> >'
   52 |     struct mult_impl : mult_impl<T, U, when<true>> { };
      |            ^~~~~~~~~
../boost/hana/fwd/mult.hpp:52:12: note: declaration of 'struct boost::hana::mult_impl<int, int, boost::hana::when<true> >'
../boost/hana/fwd/one.hpp: In instantiation of 'struct boost::hana::one_impl<boost::hana::ext::std::integral_constant_tag<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::one_impl<boost::hana::ext::std::integral_constant_tag<int>, void>]'
../boost/hana/concept/ring.hpp:27:62:   required from 'struct boost::hana::Ring<boost::hana::ext::std::integral_constant_tag<int> >'
../boost/hana/one.hpp:30:38:   required from 'constexpr decltype(auto) boost::hana::one_t<R>::operator()() const [with R = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/_include/laws/ring.hpp:110:13:   required from 'boost::hana::test::TestRing<C, boost::hana::when<boost::hana::Constant<C>::value> >::TestRing(Xs) [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; C = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/ext/std/integral_constant/arithmetic.cpp:29:74:   required from here
../boost/hana/fwd/one.hpp:35:12: error: ambiguous template instantiation for 'struct boost::hana::one_impl<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::when<true> >'
   35 |     struct one_impl : one_impl<R, when<true>> { };
      |            ^~~~~~~~
../boost/hana/one.hpp:43:12: note: candidates are: 'template<class R, bool condition> struct boost::hana::one_impl<R, boost::hana::when<condition> > [with R = boost::hana::ext::std::integral_constant_tag<int>; bool condition = true]'
   43 |     struct one_impl<R, when<condition>> : default_ {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/one.hpp:70:12: note:                 'template<class C> struct boost::hana::one_impl<C, boost::hana::when<(boost::hana::Constant<C>::value && boost::hana::Ring<typename C::value_type>::value)> > [with C = boost::hana::ext::std::integral_constant_tag<int>]'
   70 |     struct one_impl<C, when<
      |            ^~~~~~~~~~~~~~~~~
   71 |         hana::Constant<C>::value &&
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
   72 |         Ring<typename C::value_type>::value
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   73 |     >> {
      |     ~~      
../boost/hana/fwd/one.hpp:35:12: error: invalid use of incomplete type 'struct boost::hana::one_impl<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::when<true> >'
   35 |     struct one_impl : one_impl<R, when<true>> { };
      |            ^~~~~~~~
../boost/hana/fwd/one.hpp:35:12: note: declaration of 'struct boost::hana::one_impl<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::when<true> >'
../boost/hana/fwd/mult.hpp: In instantiation of 'struct boost::hana::mult_impl<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::ext::std::integral_constant_tag<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::mult_impl<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::ext::std::integral_constant_tag<int>, void>]'
../boost/hana/concept/ring.hpp:29:63:   required from 'struct boost::hana::Ring<boost::hana::ext::std::integral_constant_tag<int> >'
../boost/hana/one.hpp:30:38:   required from 'constexpr decltype(auto) boost::hana::one_t<R>::operator()() const [with R = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/_include/laws/ring.hpp:110:13:   required from 'boost::hana::test::TestRing<C, boost::hana::when<boost::hana::Constant<C>::value> >::TestRing(Xs) [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; C = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/ext/std/integral_constant/arithmetic.cpp:29:74:   required from here
../boost/hana/fwd/mult.hpp:52:12: error: ambiguous template instantiation for 'struct boost::hana::mult_impl<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::ext::std::integral_constant_tag<int>, boost::hana::when<true> >'
   52 |     struct mult_impl : mult_impl<T, U, when<true>> { };
      |            ^~~~~~~~~
../boost/hana/mult.hpp:56:12: note: candidates are: 'template<class T, class U, bool condition> struct boost::hana::mult_impl<T, U, boost::hana::when<condition> > [with T = boost::hana::ext::std::integral_constant_tag<int>; U = boost::hana::ext::std::integral_constant_tag<int>; bool condition = true]'
   56 |     struct mult_impl<T, U, when<condition>> : default_ {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/mult.hpp:97:12: note:                 'template<class C> struct boost::hana::mult_impl<C, C, boost::hana::when<(boost::hana::Constant<C>::value && boost::hana::Ring<typename C::value_type>::value)> > [with C = boost::hana::ext::std::integral_constant_tag<int>]'
   97 |     struct mult_impl<C, C, when<
      |            ^~~~~~~~~~~~~~~~~~~~~
   98 |         hana::Constant<C>::value &&
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
   99 |         Ring<typename C::value_type>::value
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  100 |     >> {
      |     ~~      
../boost/hana/fwd/mult.hpp:52:12: error: invalid use of incomplete type 'struct boost::hana::mult_impl<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::ext::std::integral_constant_tag<int>, boost::hana::when<true> >'
   52 |     struct mult_impl : mult_impl<T, U, when<true>> { };
      |            ^~~~~~~~~
../boost/hana/fwd/mult.hpp:52:12: note: declaration of 'struct boost::hana::mult_impl<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::ext::std::integral_constant_tag<int>, boost::hana::when<true> >'
../boost/hana/one.hpp: In instantiation of 'constexpr decltype(auto) boost::hana::one_t<R>::operator()() const [with R = boost::hana::ext::std::integral_constant_tag<int>]':
../libs/hana/test/_include/laws/ring.hpp:110:13:   required from 'boost::hana::test::TestRing<C, boost::hana::when<boost::hana::Constant<C>::value> >::TestRing(Xs) [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; C = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/ext/std/integral_constant/arithmetic.cpp:29:74:   required from here
../boost/hana/one.hpp:38:26: error: 'apply' is not a member of 'One' {aka 'boost::hana::one_impl<boost::hana::ext::std::integral_constant_tag<int>, void>'}
   38 |         return One::apply();
      |                ~~~~~~~~~~^~
../boost/hana/one.hpp: In instantiation of 'constexpr decltype(auto) boost::hana::one_t<R>::operator()() const [with R = int]':
../libs/hana/test/_include/laws/ring.hpp:110:13:   required from 'boost::hana::test::TestRing<C, boost::hana::when<boost::hana::Constant<C>::value> >::TestRing(Xs) [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; C = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/ext/std/integral_constant/arithmetic.cpp:29:74:   required from here
../boost/hana/one.hpp:38:26: error: 'apply' is not a member of 'One' {aka 'boost::hana::one_impl<int, void>'}
In file included from ../boost/hana/concept/integral_constant.hpp:16,
                 from ../boost/hana/ext/std/integral_constant.hpp:13,
                 from ../libs/hana/test/ext/std/integral_constant/arithmetic.cpp:5:
../boost/hana/core/tag_of.hpp: In instantiation of 'struct boost::hana::tag_of<std::integral_constant<int, -10>, void>':
../boost/hana/concept/monoid.hpp:27:63:   required from 'struct boost::hana::Monoid<std::integral_constant<int, -10> >'
../libs/hana/test/_include/laws/monoid.hpp:34:31:   required from 'boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)> [with auto:40 = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; auto:41 = std::integral_constant<int, -10>]'
../boost/hana/functional/partial.hpp:86:43:   required from 'constexpr decltype(auto) boost::hana::partial_t<std::integer_sequence<long unsigned int, _Idx ...>, F, X ...>::operator()(Y&& ...) & [with Y = {std::integral_constant<int, -10>&}; long unsigned int ...n = {0}; F = boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>; X = {boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >}]'
../boost/hana/for_each.hpp:46:45:   required from 'constexpr void boost::hana::detail::on_each<F>::operator()(Xs&& ...) const [with Xs = {std::integral_constant<int, -10>&, std::integral_constant<int, -2>&, std::integral_constant<int, 0>&, std::integral_constant<int, 1>&, std::integral_constant<int, 3>&}; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>, boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >*]'
../boost/hana/basic_tuple.hpp:125:39:   required from 'static constexpr decltype(auto) boost::hana::unpack_impl<boost::hana::basic_tuple_tag>::apply(boost::hana::detail::basic_tuple_impl<std::integer_sequence<long unsigned int, _Idx ...>, Xn ...>&, F&&) [with long unsigned int ...i = {0, 1, 2, 3, 4}; Xn = {std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3>}; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>, boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >*>]'
../boost/hana/unpack.hpp:47:29:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../boost/hana/unpack.hpp:47:29:   required from 'constexpr decltype(auto) boost::hana::unpack_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >&; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>, boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >*>]'
../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<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >&; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>, boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >; 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<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >&; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>, boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >]'
../libs/hana/test/_include/laws/monoid.hpp:33:27:   required from 'boost::hana::test::TestMonoid<M, boost::hana::test::laws>::TestMonoid(Xs) [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; M = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/_include/laws/monoid.hpp:69:51:   required from 'boost::hana::test::TestMonoid<C, boost::hana::when<boost::hana::Constant<C>::value> >::TestMonoid(Xs) [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; C = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/ext/std/integral_constant/arithmetic.cpp:27:76:   required from here
../boost/hana/core/tag_of.hpp:24:12: error: ambiguous template instantiation for 'struct boost::hana::tag_of<std::integral_constant<int, -10>, boost::hana::when<true> >'
   24 |     struct tag_of : tag_of<T, when<true>> { };
      |            ^~~~~~
../boost/hana/core/tag_of.hpp:33:12: note: candidates are: 'template<class T, bool condition> struct boost::hana::tag_of<T, boost::hana::when<condition> > [with T = std::integral_constant<int, -10>; bool condition = true]'
   33 |     struct tag_of<T, when<condition>> {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/ext/std/integral_constant.hpp:68:12: note:                 'template<class T> struct boost::hana::tag_of<T, boost::hana::when<(boost::hana::detail::is_std_integral_constant((T*)(0)) && (! boost::hana::detail::is_hana_integral_constant((T*)(0))))> > [with T = std::integral_constant<int, -10>]'
   68 |     struct tag_of<T, when<
      |            ^~~~~~~~~~~~~~~
   69 |         detail::is_std_integral_constant((T*)0) &&
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   70 |         !detail::is_hana_integral_constant((T*)0)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   71 |     >> {
      |     ~~      
../boost/hana/core/tag_of.hpp:24:12: error: invalid use of incomplete type 'struct boost::hana::tag_of<std::integral_constant<int, -10>, boost::hana::when<true> >'
   24 |     struct tag_of : tag_of<T, when<true>> { };
      |            ^~~~~~
../boost/hana/core/tag_of.hpp:24:12: note: declaration of 'struct boost::hana::tag_of<std::integral_constant<int, -10>, boost::hana::when<true> >'
../boost/hana/concept/monoid.hpp: In instantiation of 'struct boost::hana::Monoid<std::integral_constant<int, -10> >':
../libs/hana/test/_include/laws/monoid.hpp:34:31:   required from 'boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)> [with auto:40 = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; auto:41 = std::integral_constant<int, -10>]'
../boost/hana/functional/partial.hpp:86:43:   required from 'constexpr decltype(auto) boost::hana::partial_t<std::integer_sequence<long unsigned int, _Idx ...>, F, X ...>::operator()(Y&& ...) & [with Y = {std::integral_constant<int, -10>&}; long unsigned int ...n = {0}; F = boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>; X = {boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >}]'
../boost/hana/for_each.hpp:46:45:   required from 'constexpr void boost::hana::detail::on_each<F>::operator()(Xs&& ...) const [with Xs = {std::integral_constant<int, -10>&, std::integral_constant<int, -2>&, std::integral_constant<int, 0>&, std::integral_constant<int, 1>&, std::integral_constant<int, 3>&}; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>, boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >*]'
../boost/hana/basic_tuple.hpp:125:39:   required from 'static constexpr decltype(auto) boost::hana::unpack_impl<boost::hana::basic_tuple_tag>::apply(boost::hana::detail::basic_tuple_impl<std::integer_sequence<long unsigned int, _Idx ...>, Xn ...>&, F&&) [with long unsigned int ...i = {0, 1, 2, 3, 4}; Xn = {std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3>}; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>, boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >*>]'
../boost/hana/unpack.hpp:47:29:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../boost/hana/unpack.hpp:47:29:   required from 'constexpr decltype(auto) boost::hana::unpack_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >&; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>, boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >*>]'
../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<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >&; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>, boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >; 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<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >&; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>, boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >]'
../libs/hana/test/_include/laws/monoid.hpp:33:27:   required from 'boost::hana::test::TestMonoid<M, boost::hana::test::laws>::TestMonoid(Xs) [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; M = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/_include/laws/monoid.hpp:69:51:   required from 'boost::hana::test::TestMonoid<C, boost::hana::when<boost::hana::Constant<C>::value> >::TestMonoid(Xs) [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; C = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/ext/std/integral_constant/arithmetic.cpp:27:76:   required from here
../boost/hana/concept/monoid.hpp:27:63: error: no type named 'type' in 'struct boost::hana::tag_of<std::integral_constant<int, -10>, void>'
   27 |             !is_default<zero_impl<typename tag_of<M>::type>>::value &&
      |                                                               ^~~~~
../boost/hana/concept/monoid.hpp:29:63: error: no type named 'type' in 'struct boost::hana::tag_of<std::integral_constant<int, -10>, void>'
   29 |                                   typename tag_of<M>::type>>::value
      |                                                               ^~~~~
In file included from ../libs/hana/test/ext/std/integral_constant/arithmetic.cpp:11:
../libs/hana/test/_include/laws/monoid.hpp: In instantiation of 'boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)> [with auto:40 = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; auto:41 = std::integral_constant<int, -10>]':
../boost/hana/functional/partial.hpp:86:43:   required from 'constexpr decltype(auto) boost::hana::partial_t<std::integer_sequence<long unsigned int, _Idx ...>, F, X ...>::operator()(Y&& ...) & [with Y = {std::integral_constant<int, -10>&}; long unsigned int ...n = {0}; F = boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>; X = {boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >}]'
../boost/hana/for_each.hpp:46:45:   required from 'constexpr void boost::hana::detail::on_each<F>::operator()(Xs&& ...) const [with Xs = {std::integral_constant<int, -10>&, std::integral_constant<int, -2>&, std::integral_constant<int, 0>&, std::integral_constant<int, 1>&, std::integral_constant<int, 3>&}; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>, boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >*]'
../boost/hana/basic_tuple.hpp:125:39:   required from 'static constexpr decltype(auto) boost::hana::unpack_impl<boost::hana::basic_tuple_tag>::apply(boost::hana::detail::basic_tuple_impl<std::integer_sequence<long unsigned int, _Idx ...>, Xn ...>&, F&&) [with long unsigned int ...i = {0, 1, 2, 3, 4}; Xn = {std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3>}; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>, boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >*>]'
../boost/hana/unpack.hpp:47:29:   required from 'constexpr decltype(auto) boost::hana::unpack_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::basic_tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >&; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>, boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >*>]'
../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<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >&; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>, boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >*>]'
../boost/hana/unpack.hpp:47:29:   required from 'constexpr decltype(auto) boost::hana::unpack_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >&; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>, boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >*>]'
../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<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >&; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>, boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >; 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<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >&; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>, boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >]'
../libs/hana/test/_include/laws/monoid.hpp:33:27:   required from 'boost::hana::test::TestMonoid<M, boost::hana::test::laws>::TestMonoid(Xs) [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; M = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/_include/laws/monoid.hpp:69:51:   required from 'boost::hana::test::TestMonoid<C, boost::hana::when<boost::hana::Constant<C>::value> >::TestMonoid(Xs) [with Xs = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; C = boost::hana::ext::std::integral_constant_tag<int>]'
../libs/hana/test/ext/std/integral_constant/arithmetic.cpp:27:76:   required from here
../libs/hana/test/_include/laws/monoid.hpp:34:31: error: could not convert 'boost::hana::Monoid<std::integral_constant<int, -10> >()' from 'boost::hana::Monoid<std::integral_constant<int, -10> >' to 'bool'
   34 |                 static_assert(Monoid<decltype(a)>{}, "");
      |                               ^~~~~~~~~~~~~~~~~~~~~
      |                               |
      |                               boost::hana::Monoid<std::integral_constant<int, -10> >
../boost/hana/core/tag_of.hpp: In instantiation of 'struct boost::hana::tag_of<std::integral_constant<int, -2>, void>':
../boost/hana/concept/monoid.hpp:27:63:   required from 'struct boost::hana::Monoid<std::integral_constant<int, -2> >'
../libs/hana/test/_include/laws/monoid.hpp:34:31:   required from 'boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)> [with auto:40 = boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >; auto:41 = std::integral_constant<int, -2>]'
../boost/hana/functional/partial.hpp:86:43:   required from 'constexpr decltype(auto) boost::hana::partial_t<std::integer_sequence<long unsigned int, _Idx ...>, F, X ...>::operator()(Y&& ...) & [with Y = {std::integral_constant<int, -2>&}; long unsigned int ...n = {0}; F = boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>; X = {boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >}]'
../boost/hana/for_each.hpp:46:45:   required from 'constexpr void boost::hana::detail::on_each<F>::operator()(Xs&& ...) const [with Xs = {std::integral_constant<int, -10>&, std::integral_constant<int, -2>&, std::integral_constant<int, 0>&, std::integral_constant<int, 1>&, std::integral_constant<int, 3>&}; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::integral_constant_tag<int>, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >(boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> >)::<lambda(auto:40, auto:41)>, boost::hana::tuple<std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3> > >*]'
../boost/hana/basic_tuple.hpp:125:39:   required from 'static constexpr decltype(auto) boost::hana::unpack_impl<boost::hana::basic_tuple_tag>::apply(boost::hana::detail::basic_tuple_impl<std::integer_sequence<long unsigned int, _Idx ...>, Xn ...>&, F&&) [with long unsigned int ...i = {0, 1, 2, 3, 4}; Xn = {std::integral_constant<int, -10>, std::integral_constant<int, -2>, std::integral_constant<int, 0>, std::integral_constant<int, 1>, std::integral_constant<int, 3>}; F = boost::hana::detail::on_each<boost::hana::partial_t...

[The content has been trimmed by the report system because it exceeds 65536 bytes]