Compile [2024-11-15 18:22:19 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~detail~canonical_constant~laws.test/gcc-12~c++17/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/detail/canonical_constant/laws.o" "../libs/hana/test/detail/canonical_constant/laws.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/_include/laws/constant.hpp:17,
from ../libs/hana/test/detail/canonical_constant/laws.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::detail::CanonicalConstant<int>]'
../boost/hana/fwd/zero.hpp:35:12: required from 'struct boost::hana::zero_impl<boost::hana::detail::CanonicalConstant<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::detail::CanonicalConstant<int>, void>]'
../boost/hana/concept/monoid.hpp:27:63: required from 'struct boost::hana::Monoid<boost::hana::detail::CanonicalConstant<int> >'
../boost/hana/zero.hpp:30:40: required from 'constexpr decltype(auto) boost::hana::zero_t<M>::operator()() const [with M = boost::hana::detail::CanonicalConstant<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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >; C = boost::hana::detail::CanonicalConstant<int>]'
../libs/hana/test/detail/canonical_constant/laws.cpp:38:70: 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/integral_constant.hpp:13,
from ../boost/hana/drop_front.hpp:20,
from ../boost/hana/concept/iterable.hpp:20,
from ../boost/hana/at.hpp:16,
from ../boost/hana/unpack.hpp:16,
from ../boost/hana/fold_left.hpp:20,
from ../boost/hana/concept/foldable.hpp:19,
from ../boost/hana/core/to.hpp:16,
from ../boost/hana/detail/canonical_constant.hpp:34,
from ../libs/hana/test/detail/canonical_constant/laws.cpp:5:
../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::detail::CanonicalConstant<int>]'
../boost/hana/fwd/zero.hpp:35:12: required from 'struct boost::hana::zero_impl<boost::hana::detail::CanonicalConstant<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::detail::CanonicalConstant<int>, void>]'
../boost/hana/concept/monoid.hpp:27:63: required from 'struct boost::hana::Monoid<boost::hana::detail::CanonicalConstant<int> >'
../boost/hana/zero.hpp:30:40: required from 'constexpr decltype(auto) boost::hana::zero_t<M>::operator()() const [with M = boost::hana::detail::CanonicalConstant<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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >; C = boost::hana::detail::CanonicalConstant<int>]'
../libs/hana/test/detail/canonical_constant/laws.cpp:38:70: 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::detail::CanonicalConstant<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::detail::CanonicalConstant<int>, void>]'
../boost/hana/concept/monoid.hpp:27:63: required from 'struct boost::hana::Monoid<boost::hana::detail::CanonicalConstant<int> >'
../boost/hana/zero.hpp:30:40: required from 'constexpr decltype(auto) boost::hana::zero_t<M>::operator()() const [with M = boost::hana::detail::CanonicalConstant<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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >; C = boost::hana::detail::CanonicalConstant<int>]'
../libs/hana/test/detail/canonical_constant/laws.cpp:38:70: required from here
../boost/hana/fwd/zero.hpp:35:12: error: ambiguous template instantiation for 'struct boost::hana::zero_impl<boost::hana::detail::CanonicalConstant<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::detail::CanonicalConstant<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::detail::CanonicalConstant<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::detail::CanonicalConstant<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::detail::CanonicalConstant<int>, boost::hana::when<true> >'
../boost/hana/fwd/plus.hpp: In instantiation of 'struct boost::hana::plus_impl<boost::hana::detail::CanonicalConstant<int>, boost::hana::detail::CanonicalConstant<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::detail::CanonicalConstant<int>, boost::hana::detail::CanonicalConstant<int>, void>]'
../boost/hana/concept/monoid.hpp:29:63: required from 'struct boost::hana::Monoid<boost::hana::detail::CanonicalConstant<int> >'
../boost/hana/zero.hpp:30:40: required from 'constexpr decltype(auto) boost::hana::zero_t<M>::operator()() const [with M = boost::hana::detail::CanonicalConstant<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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >; C = boost::hana::detail::CanonicalConstant<int>]'
../libs/hana/test/detail/canonical_constant/laws.cpp:38:70: required from here
../boost/hana/fwd/plus.hpp:52:12: error: ambiguous template instantiation for 'struct boost::hana::plus_impl<boost::hana::detail::CanonicalConstant<int>, boost::hana::detail::CanonicalConstant<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::detail::CanonicalConstant<int>; U = boost::hana::detail::CanonicalConstant<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::detail::CanonicalConstant<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::detail::CanonicalConstant<int>, boost::hana::detail::CanonicalConstant<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::detail::CanonicalConstant<int>, boost::hana::detail::CanonicalConstant<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::detail::CanonicalConstant<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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >; C = boost::hana::detail::CanonicalConstant<int>]'
../libs/hana/test/detail/canonical_constant/laws.cpp:38:70: required from here
../boost/hana/zero.hpp:38:27: error: 'apply' is not a member of 'Zero' {aka 'boost::hana::zero_impl<boost::hana::detail::CanonicalConstant<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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >; C = boost::hana::detail::CanonicalConstant<int>]'
../libs/hana/test/detail/canonical_constant/laws.cpp:38:70: 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::detail::CanonicalConstant<int>]'
../boost/hana/fwd/one.hpp:35:12: required from 'struct boost::hana::one_impl<boost::hana::detail::CanonicalConstant<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::detail::CanonicalConstant<int>, void>]'
../boost/hana/concept/ring.hpp:27:62: required from 'struct boost::hana::Ring<boost::hana::detail::CanonicalConstant<int> >'
../boost/hana/one.hpp:30:38: required from 'constexpr decltype(auto) boost::hana::one_t<R>::operator()() const [with R = boost::hana::detail::CanonicalConstant<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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >; C = boost::hana::detail::CanonicalConstant<int>]'
../libs/hana/test/detail/canonical_constant/laws.cpp:40:68: 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::detail::CanonicalConstant<int>]'
../boost/hana/fwd/one.hpp:35:12: required from 'struct boost::hana::one_impl<boost::hana::detail::CanonicalConstant<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::detail::CanonicalConstant<int>, void>]'
../boost/hana/concept/ring.hpp:27:62: required from 'struct boost::hana::Ring<boost::hana::detail::CanonicalConstant<int> >'
../boost/hana/one.hpp:30:38: required from 'constexpr decltype(auto) boost::hana::one_t<R>::operator()() const [with R = boost::hana::detail::CanonicalConstant<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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >; C = boost::hana::detail::CanonicalConstant<int>]'
../libs/hana/test/detail/canonical_constant/laws.cpp:40:68: 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::detail::CanonicalConstant<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::detail::CanonicalConstant<int>, void>]'
../boost/hana/concept/ring.hpp:27:62: required from 'struct boost::hana::Ring<boost::hana::detail::CanonicalConstant<int> >'
../boost/hana/one.hpp:30:38: required from 'constexpr decltype(auto) boost::hana::one_t<R>::operator()() const [with R = boost::hana::detail::CanonicalConstant<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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >; C = boost::hana::detail::CanonicalConstant<int>]'
../libs/hana/test/detail/canonical_constant/laws.cpp:40:68: required from here
../boost/hana/fwd/one.hpp:35:12: error: ambiguous template instantiation for 'struct boost::hana::one_impl<boost::hana::detail::CanonicalConstant<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::detail::CanonicalConstant<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::detail::CanonicalConstant<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::detail::CanonicalConstant<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::detail::CanonicalConstant<int>, boost::hana::when<true> >'
../boost/hana/fwd/mult.hpp: In instantiation of 'struct boost::hana::mult_impl<boost::hana::detail::CanonicalConstant<int>, boost::hana::detail::CanonicalConstant<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::detail::CanonicalConstant<int>, boost::hana::detail::CanonicalConstant<int>, void>]'
../boost/hana/concept/ring.hpp:29:63: required from 'struct boost::hana::Ring<boost::hana::detail::CanonicalConstant<int> >'
../boost/hana/one.hpp:30:38: required from 'constexpr decltype(auto) boost::hana::one_t<R>::operator()() const [with R = boost::hana::detail::CanonicalConstant<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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >; C = boost::hana::detail::CanonicalConstant<int>]'
../libs/hana/test/detail/canonical_constant/laws.cpp:40:68: required from here
../boost/hana/fwd/mult.hpp:52:12: error: ambiguous template instantiation for 'struct boost::hana::mult_impl<boost::hana::detail::CanonicalConstant<int>, boost::hana::detail::CanonicalConstant<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::detail::CanonicalConstant<int>; U = boost::hana::detail::CanonicalConstant<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::detail::CanonicalConstant<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::detail::CanonicalConstant<int>, boost::hana::detail::CanonicalConstant<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::detail::CanonicalConstant<int>, boost::hana::detail::CanonicalConstant<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::detail::CanonicalConstant<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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >; C = boost::hana::detail::CanonicalConstant<int>]'
../libs/hana/test/detail/canonical_constant/laws.cpp:40:68: required from here
../boost/hana/one.hpp:38:26: error: 'apply' is not a member of 'One' {aka 'boost::hana::one_impl<boost::hana::detail::CanonicalConstant<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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >; C = boost::hana::detail::CanonicalConstant<int>]'
../libs/hana/test/detail/canonical_constant/laws.cpp:40:68: 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/detail/operators/logical.hpp:16,
from ../boost/hana/bool.hpp:21:
../boost/hana/fwd/not.hpp: In instantiation of 'struct boost::hana::not_impl<boost::hana::integral_constant_tag<bool>, 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::not_impl<boost::hana::integral_constant_tag<bool>, void>]'
../boost/hana/concept/logical.hpp:29:62: required from 'struct boost::hana::Logical<boost::hana::integral_constant_tag<bool> >'
../boost/hana/if.hpp:26:15: required from 'constexpr decltype(auto) boost::hana::if_t::operator()(Cond&&, Then&&, Else&&) const [with Cond = const boost::hana::integral_constant<bool, false>&; Then = boost::hana::test::TestConstant<boost::hana::detail::CanonicalConstant<int> >::TestConstant<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>)::<lambda(auto:201, auto:202)>::<lambda(auto:203)>; Else = boost::hana::test::TestConstant<boost::hana::detail::CanonicalConstant<int> >::TestConstant<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>)::<lambda(auto:201, auto:202)>::<lambda(auto:204)>]'
../libs/hana/test/_include/laws/constant.hpp:59:17: required from 'boost::hana::test::TestConstant<boost::hana::detail::CanonicalConstant<int> >::TestConstant<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>)::<lambda(auto:201, auto:202)> [with auto:201 = boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>; auto:202 = canonical<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 = {canonical<int, -10>&}; long unsigned int ...n = {0}; F = boost::hana::test::TestConstant<boost::hana::detail::CanonicalConstant<int> >::TestConstant<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>)::<lambda(auto:201, auto:202)>; X = {boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>}]'
../boost/hana/for_each.hpp:46:45: [ skipping 3 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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >&; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestConstant<boost::hana::detail::CanonicalConstant<int> >::TestConstant<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>)::<lambda(auto:201, auto:202)>, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >*>]'
../boost/hana/unpack.hpp:47:29: required from 'constexpr decltype(auto) boost::hana::unpack_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >&; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestConstant<boost::hana::detail::CanonicalConstant<int> >::TestConstant<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>)::<lambda(auto:201, auto:202)>, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >*>]'
../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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >&; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestConstant<boost::hana::detail::CanonicalConstant<int> >::TestConstant<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>)::<lambda(auto:201, auto:202)>, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >; 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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >&; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestConstant<boost::hana::detail::CanonicalConstant<int> >::TestConstant<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>)::<lambda(auto:201, auto:202)>, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >]'
../libs/hana/test/_include/laws/constant.hpp:44:27: required from 'boost::hana::test::TestConstant<C, <template-parameter-1-2> >::TestConstant(Xs, Convertibles) [with Xs = boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >; Convertibles = boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>; C = boost::hana::detail::CanonicalConstant<int>; <template-parameter-1-2> = boost::hana::when<true>]'
../libs/hana/test/detail/canonical_constant/laws.cpp:34:109: required from here
../boost/hana/fwd/not.hpp:36:12: error: ambiguous template instantiation for 'struct boost::hana::not_impl<boost::hana::integral_constant_tag<bool>, boost::hana::when<true> >'
36 | struct not_impl : not_impl<L, when<true>> { };
| ^~~~~~~~
In file included from ../boost/hana/concept/logical.hpp:20,
from ../boost/hana/and.hpp:15,
from ../libs/hana/test/_include/laws/comparable.hpp:8,
from ../libs/hana/test/detail/canonical_constant/laws.cpp:8:
../boost/hana/not.hpp:44:12: note: candidates are: 'template<class L, bool condition> struct boost::hana::not_impl<L, boost::hana::when<condition> > [with L = boost::hana::integral_constant_tag<bool>; bool condition = true]'
44 | struct not_impl<L, when<condition>> : hana::default_ {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/not.hpp:65:12: note: 'template<class C> struct boost::hana::not_impl<C, boost::hana::when<(boost::hana::Constant<C>::value && boost::hana::Logical<typename C::value_type>::value)> > [with C = boost::hana::integral_constant_tag<bool>]'
65 | struct not_impl<C, hana::when<
| ^~~~~~~~~~~~~~~~~~~~~~~
66 | hana::Constant<C>::value &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
67 | hana::Logical<typename C::value_type>::value
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | >> {
| ~~
../boost/hana/fwd/not.hpp:36:12: error: invalid use of incomplete type 'struct boost::hana::not_impl<boost::hana::integral_constant_tag<bool>, boost::hana::when<true> >'
36 | struct not_impl : not_impl<L, when<true>> { };
| ^~~~~~~~
../boost/hana/fwd/not.hpp:36:12: note: declaration of 'struct boost::hana::not_impl<boost::hana::integral_constant_tag<bool>, boost::hana::when<true> >'
In file included from ../boost/hana/while.hpp:13,
from ../boost/hana/concept/logical.hpp:21:
../boost/hana/fwd/while.hpp: In instantiation of 'struct boost::hana::while_impl<boost::hana::integral_constant_tag<bool>, 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::while_impl<boost::hana::integral_constant_tag<bool>, void>]'
../boost/hana/concept/logical.hpp:30:64: required from 'struct boost::hana::Logical<boost::hana::integral_constant_tag<bool> >'
../boost/hana/if.hpp:26:15: required from 'constexpr decltype(auto) boost::hana::if_t::operator()(Cond&&, Then&&, Else&&) const [with Cond = const boost::hana::integral_constant<bool, false>&; Then = boost::hana::test::TestConstant<boost::hana::detail::CanonicalConstant<int> >::TestConstant<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>)::<lambda(auto:201, auto:202)>::<lambda(auto:203)>; Else = boost::hana::test::TestConstant<boost::hana::detail::CanonicalConstant<int> >::TestConstant<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>)::<lambda(auto:201, auto:202)>::<lambda(auto:204)>]'
../libs/hana/test/_include/laws/constant.hpp:59:17: required from 'boost::hana::test::TestConstant<boost::hana::detail::CanonicalConstant<int> >::TestConstant<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>)::<lambda(auto:201, auto:202)> [with auto:201 = boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>; auto:202 = canonical<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 = {canonical<int, -10>&}; long unsigned int ...n = {0}; F = boost::hana::test::TestConstant<boost::hana::detail::CanonicalConstant<int> >::TestConstant<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>)::<lambda(auto:201, auto:202)>; X = {boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>}]'
../boost/hana/for_each.hpp:46:45: [ skipping 3 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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >&; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestConstant<boost::hana::detail::CanonicalConstant<int> >::TestConstant<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>)::<lambda(auto:201, auto:202)>, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >*>]'
../boost/hana/unpack.hpp:47:29: required from 'constexpr decltype(auto) boost::hana::unpack_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >&; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestConstant<boost::hana::detail::CanonicalConstant<int> >::TestConstant<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>)::<lambda(auto:201, auto:202)>, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >*>]'
../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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >&; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestConstant<boost::hana::detail::CanonicalConstant<int> >::TestConstant<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>)::<lambda(auto:201, auto:202)>, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >; 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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >&; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestConstant<boost::hana::detail::CanonicalConstant<int> >::TestConstant<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>)::<lambda(auto:201, auto:202)>, boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_> >]'
../libs/hana/test/_include/laws/constant.hpp:44:27: required from 'boost::hana::test::TestConstant<C, <template-parameter-1-2> >::TestConstant(Xs, Convertibles) [with Xs = boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >; Convertibles = boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>; C = boost::hana::detail::CanonicalConstant<int>; <template-parameter-1-2> = boost::hana::when<true>]'
../libs/hana/test/detail/canonical_constant/laws.cpp:34:109: required from here
../boost/hana/fwd/while.hpp:60:12: error: ambiguous template instantiation for 'struct boost::hana::while_impl<boost::hana::integral_constant_tag<bool>, boost::hana::when<true> >'
60 | struct while_impl : while_impl<L, when<true>> { };
| ^~~~~~~~~~
../boost/hana/while.hpp:49:12: note: candidates are: 'template<class L, bool condition> struct boost::hana::while_impl<L, boost::hana::when<condition> > [with L = boost::hana::integral_constant_tag<bool>; bool condition = true]'
49 | struct while_impl<L, hana::when<condition>> : hana::default_ {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/while.hpp:76:12: note: 'template<class C> struct boost::hana::while_impl<C, boost::hana::when<(boost::hana::Constant<C>::value && boost::hana::Logical<typename C::value_type>::value)> > [with C = boost::hana::integral_constant_tag<bool>]'
76 | struct while_impl<C, hana::when<
| ^~~~~~~~~~~~~~~~~~~~~~~~~
77 | hana::Constant<C>::value &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
78 | hana::Logical<typename C::value_type>::value
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79 | >> {
| ~~
../boost/hana/fwd/while.hpp:60:12: error: invalid use of incomplete type 'struct boost::hana::while_impl<boost::hana::integral_constant_tag<bool>, boost::hana::when<true> >'
60 | struct while_impl : while_impl<L, when<true>> { };
| ^~~~~~~~~~
../boost/hana/fwd/while.hpp:60:12: note: declaration of 'struct boost::hana::while_impl<boost::hana::integral_constant_tag<bool>, boost::hana::when<true> >'
In file included from ../boost/hana/detail/operators/arithmetic.hpp:19:
../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:106:40: required by substitution of 'template<class C> struct boost::hana::minus_impl<C, C, boost::hana::when<(boost::hana::Constant<C>::value && boost::hana::Group<typename C::value_type>::value)> > [with C = boost::hana::detail::CanonicalConstant<int>]'
../boost/hana/fwd/minus.hpp:56:12: required from 'struct boost::hana::minus_impl<boost::hana::detail::CanonicalConstant<int>, boost::hana::detail::CanonicalConstant<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<boost::hana::detail::CanonicalConstant<int>, boost::hana::detail::CanonicalConstant<int>, void>]'
../boost/hana/concept/group.hpp:29:64: [ skipping 6 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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >&; F = boost::hana::detail::on_each<boost::hana::test::TestGroup<boost::hana::detail::CanonicalConstant<int>, boost::hana::test::laws>::TestGroup<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> > >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >)::<lambda(auto:49)>*>]'
../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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >&; F = boost::hana::test::TestGroup<boost::hana::detail::CanonicalConstant<int>, boost::hana::test::laws>::TestGroup<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> > >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >)::<lambda(auto:49)>; 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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >&; F = boost::hana::test::TestGroup<boost::hana::detail::CanonicalConstant<int>, boost::hana::test::laws>::TestGroup<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> > >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >)::<lambda(auto:49)>]'
../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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >; G = boost::hana::detail::CanonicalConstant<int>]'
../libs/hana/test/_include/laws/group.hpp:75:49: required from 'boost::hana::test::TestGroup<C, boost::hana::when<boost::hana::Constant<C>::value> >::TestGroup(Xs) [with Xs = boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >; C = boost::hana::detail::CanonicalConstant<int>]'
../libs/hana/test/detail/canonical_constant/laws.cpp:39:69: 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/_include/laws/group.hpp:12,
from ../libs/hana/test/_include/laws/constant.hpp:18:
../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:106:40: required by substitution of 'template<class C> struct boost::hana::minus_impl<C, C, boost::hana::when<(boost::hana::Constant<C>::value && boost::hana::Group<typename C::value_type>::value)> > [with C = boost::hana::detail::CanonicalConstant<int>]'
../boost/hana/fwd/minus.hpp:56:12: required from 'struct boost::hana::minus_impl<boost::hana::detail::CanonicalConstant<int>, boost::hana::detail::CanonicalConstant<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<boost::hana::detail::CanonicalConstant<int>, boost::hana::detail::CanonicalConstant<int>, void>]'
../boost/hana/concept/group.hpp:29:64: [ skipping 6 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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >&; F = boost::hana::detail::on_each<boost::hana::test::TestGroup<boost::hana::detail::CanonicalConstant<int>, boost::hana::test::laws>::TestGroup<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> > >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >)::<lambda(auto:49)>*>]'
../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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >&; F = boost::hana::test::TestGroup<boost::hana::detail::CanonicalConstant<int>, boost::hana::test::laws>::TestGroup<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> > >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >)::<lambda(auto:49)>; 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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >&; F = boost::hana::test::TestGroup<boost::hana::detail::CanonicalConstant<int>, boost::hana::test::laws>::TestGroup<boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> > >(boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >)::<lambda(auto:49)>]'
../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<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >; G = boost::hana::detail::CanonicalConstant<int>]'
../libs/hana/test/_include/laws/group.hpp:75:49: required from 'boost::hana::test::TestGroup<C, boost::hana::when<boost::hana::Constant<C>::value> >::TestGroup(Xs) [with Xs = boost::hana::tuple<canonical<int, -10>, canonical<int, -2>, canonical<int, 0>, canonical<int, 1>, canonical<int, 3>, canonical<int, 4> >; C = boost::hana::detail::CanonicalConstant<int>]'
../libs/hana/test/detail/canonical_constant/laws.cpp:39:69: 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/fwd/minus.hpp: In instantiation of 'struct boost::hana::minus_impl<boost::hana::detail::CanonicalConstant<int>, boost::hana::detail::CanonicalConstant<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<boost::hana::detail::CanonicalConstant<int>, boost::hana::detail::CanonicalConstant<int>, void>]'
../boost/hana/concept/group.hpp:29:64: required from 'struct boost::hana::Group<canon...
[The content has been trimmed by the report system because it exceeds 65536 bytes]