Test output: teeks99-dkr-dg12 - hana - test~string~laws / gcc-12~c++17
Rev 8a1a5f3a64b5f11de2ff03a1d6fb9372a5c51e66 / Fri, 15 Nov 2024 15:30:25 +0000
Compile [2024-11-15 18:22:18 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~string~laws.test/gcc-12~c++17/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/string/laws.o" "../libs/hana/test/string/laws.cpp"

In file included from ../boost/hana/detail/operators/logical.hpp:16,
                 from ../boost/hana/bool.hpp:21,
                 from ../boost/hana/string.hpp:15,
                 from ../libs/hana/test/string/laws.cpp:5:
../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, true>&; Then = boost::hana::test::TestMonoid<boost::hana::string_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >)::<lambda(auto:83, auto:84)>::<lambda(auto:85)>; Else = boost::hana::test::TestMonoid<boost::hana::string_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >)::<lambda(auto:83, auto:84)>::<lambda(auto:86)>]'
../libs/hana/test/_include/laws/monoid.hpp:37:17:   required from 'boost::hana::test::TestMonoid<boost::hana::string_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >)::<lambda(auto:83, auto:84)> [with auto:83 = boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >; auto:84 = boost::hana::string<>]'
../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 = {boost::hana::string<>&}; long unsigned int ...n = {0}; F = boost::hana::test::TestMonoid<boost::hana::string_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >)::<lambda(auto:83, auto:84)>; X = {boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >}]'
../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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >&; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::string_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >)::<lambda(auto:83, auto:84)>, boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >*>]'
../boost/hana/unpack.hpp:47:29:   required from 'constexpr decltype(auto) boost::hana::unpack_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >&; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::string_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >)::<lambda(auto:83, auto:84)>, boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >*>]'
../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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >&; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::string_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >)::<lambda(auto:83, auto:84)>, boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >; 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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >&; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::string_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >)::<lambda(auto:83, auto:84)>, boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >]'
../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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >; M = boost::hana::string_tag]'
../libs/hana/test/_include/laws/monoid.hpp:22:36:   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/if.hpp:15,
                 from ../boost/hana/string.hpp:39:
../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, true>&; Then = boost::hana::test::TestMonoid<boost::hana::string_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >)::<lambda(auto:83, auto:84)>::<lambda(auto:85)>; Else = boost::hana::test::TestMonoid<boost::hana::string_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >)::<lambda(auto:83, auto:84)>::<lambda(auto:86)>]'
../libs/hana/test/_include/laws/monoid.hpp:37:17:   required from 'boost::hana::test::TestMonoid<boost::hana::string_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >)::<lambda(auto:83, auto:84)> [with auto:83 = boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >; auto:84 = boost::hana::string<>]'
../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 = {boost::hana::string<>&}; long unsigned int ...n = {0}; F = boost::hana::test::TestMonoid<boost::hana::string_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >)::<lambda(auto:83, auto:84)>; X = {boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >}]'
../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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >&; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::string_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >)::<lambda(auto:83, auto:84)>, boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >*>]'
../boost/hana/unpack.hpp:47:29:   required from 'constexpr decltype(auto) boost::hana::unpack_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >&; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::string_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >)::<lambda(auto:83, auto:84)>, boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >*>]'
../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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >&; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::string_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >)::<lambda(auto:83, auto:84)>, boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >; 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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >&; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::string_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >)::<lambda(auto:83, auto:84)>, boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> > >]'
../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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'> >; M = boost::hana::string_tag]'
../libs/hana/test/_include/laws/monoid.hpp:22:36:   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/comparable.hpp:15,
                 from ../boost/hana/pair.hpp:20,
                 from ../boost/hana/unpack.hpp:26,
                 from ../boost/hana/fold_left.hpp:20,
                 from ../boost/hana/concept/foldable.hpp:19,
                 from ../boost/hana/core/to.hpp:16,
                 from ../boost/hana/bool.hpp:17:
../boost/hana/fwd/equal.hpp: In instantiation of 'struct boost::hana::equal_impl<boost::hana::integral_constant_tag<long unsigned int>, boost::hana::integral_constant_tag<long unsigned int>, void>':
../boost/hana/equal.hpp:50:28:   required from 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = boost::hana::integral_constant<long unsigned int, 0>; Y = boost::hana::integral_constant<long unsigned int, 0>]'
../libs/hana/test/_include/laws/foldable.hpp:69:17:   required from 'boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)> [with auto:30 = boost::hana::string<>]'
../boost/hana/for_each.hpp:46:45:   required from 'constexpr void boost::hana::detail::on_each<F>::operator()(Xs&& ...) const [with Xs = {boost::hana::string<>&, boost::hana::string<'a'>&, boost::hana::string<'a', 'b'>&, boost::hana::string<'a', 'b', 'c'>&, boost::hana::string<'a', 'b', 'c', 'd'>&, boost::hana::string<'a', 'b', 'c', 'd', 'e'>&, boost::hana::string<'b', 'a'>&, boost::hana::string<'a', 'f', 'c', 'd'>&}; F = boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>*]'
../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, 5, 6, 7}; Xn = {boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'>}; F = boost::hana::detail::on_each<boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>*>]'
../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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >&; F = boost::hana::detail::on_each<boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>*>]'
../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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >&; F = boost::hana::detail::on_each<boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>*>]'
../boost/hana/unpack.hpp:47:29:   required from 'constexpr decltype(auto) boost::hana::unpack_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >&; F = boost::hana::detail::on_each<boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>*>]'
../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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >&; F = boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>; 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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >&; F = boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>]'
../libs/hana/test/_include/laws/foldable.hpp:62:27:   required from 'boost::hana::test::TestFoldable<F, boost::hana::test::laws>::TestFoldable(Foldables) [with Foldables = boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >; F = boost::hana::string_tag]'
../libs/hana/test/_include/laws/foldable.hpp:55:38:   required from here
../boost/hana/fwd/equal.hpp:69:12: error: ambiguous template instantiation for 'struct boost::hana::equal_impl<boost::hana::integral_constant_tag<long unsigned int>, boost::hana::integral_constant_tag<long unsigned int>, boost::hana::when<true> >'
   69 |     struct equal_impl : equal_impl<T, U, when<true>> { };
      |            ^~~~~~~~~~
In file included from ../boost/hana/comparing.hpp:17,
                 from ../libs/hana/test/_include/laws/comparable.hpp:11,
                 from ../libs/hana/test/string/laws.cpp:8:
../boost/hana/equal.hpp:55:12: note: candidates are: 'template<class T, class U, bool condition> struct boost::hana::equal_impl<T, U, boost::hana::when<condition> > [with T = boost::hana::integral_constant_tag<long unsigned int>; U = boost::hana::integral_constant_tag<long unsigned int>; bool condition = true]'
   55 |     struct equal_impl<T, U, when<condition>> : default_ {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/equal.hpp:104:12: note:                 'template<class C> struct boost::hana::equal_impl<C, C, boost::hana::when<(boost::hana::Constant<C>::value && boost::hana::Comparable<typename C::value_type>::value)> > [with C = boost::hana::integral_constant_tag<long unsigned int>]'
  104 |     struct equal_impl<C, C, when<
      |            ^~~~~~~~~~~~~~~~~~~~~~
  105 |         hana::Constant<C>::value &&
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  106 |         Comparable<typename C::value_type>::value
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  107 |     >> {
      |     ~~      
../boost/hana/fwd/equal.hpp:69:12: error: invalid use of incomplete type 'struct boost::hana::equal_impl<boost::hana::integral_constant_tag<long unsigned int>, boost::hana::integral_constant_tag<long unsigned int>, boost::hana::when<true> >'
   69 |     struct equal_impl : equal_impl<T, U, when<true>> { };
      |            ^~~~~~~~~~
../boost/hana/fwd/equal.hpp:69:12: note: declaration of 'struct boost::hana::equal_impl<boost::hana::integral_constant_tag<long unsigned int>, boost::hana::integral_constant_tag<long unsigned int>, boost::hana::when<true> >'
../boost/hana/equal.hpp: In instantiation of 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = boost::hana::integral_constant<long unsigned int, 0>; Y = boost::hana::integral_constant<long unsigned int, 0>]':
../libs/hana/test/_include/laws/foldable.hpp:69:17:   required from 'boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)> [with auto:30 = boost::hana::string<>]'
../boost/hana/for_each.hpp:46:45:   required from 'constexpr void boost::hana::detail::on_each<F>::operator()(Xs&& ...) const [with Xs = {boost::hana::string<>&, boost::hana::string<'a'>&, boost::hana::string<'a', 'b'>&, boost::hana::string<'a', 'b', 'c'>&, boost::hana::string<'a', 'b', 'c', 'd'>&, boost::hana::string<'a', 'b', 'c', 'd', 'e'>&, boost::hana::string<'b', 'a'>&, boost::hana::string<'a', 'f', 'c', 'd'>&}; F = boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>*]'
../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, 5, 6, 7}; Xn = {boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'>}; F = boost::hana::detail::on_each<boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>*>]'
../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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >&; F = boost::hana::detail::on_each<boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>*>]'
../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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >&; F = boost::hana::detail::on_each<boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>*>]'
../boost/hana/unpack.hpp:47:29:   required from 'constexpr decltype(auto) boost::hana::unpack_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >&; F = boost::hana::detail::on_each<boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>*>]'
../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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >&; F = boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>; 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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >&; F = boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>]'
../libs/hana/test/_include/laws/foldable.hpp:62:27:   required from 'boost::hana::test::TestFoldable<F, boost::hana::test::laws>::TestFoldable(Foldables) [with Foldables = boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >; F = boost::hana::string_tag]'
../libs/hana/test/_include/laws/foldable.hpp:55:38:   required from here
../boost/hana/equal.hpp:50:28: error: 'apply' is not a member of 'Equal' {aka 'boost::hana::equal_impl<boost::hana::integral_constant_tag<long unsigned int>, boost::hana::integral_constant_tag<long unsigned int>, void>'}
   50 |         return Equal::apply(static_cast<X&&>(x), static_cast<Y&&>(y));
      |                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/fwd/equal.hpp: In instantiation of 'struct boost::hana::equal_impl<boost::hana::test::Integer<(boost::hana::test::Policy)17, void>, boost::hana::test::Integer<(boost::hana::test::Policy)17, void>, void>':
../boost/hana/equal.hpp:50:28:   required from 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = boost::hana::test::ct_eq<999>&; Y = boost::hana::test::ct_eq<999>&]'
../libs/hana/test/_include/laws/foldable.hpp:76:17:   required from 'boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)> [with auto:30 = boost::hana::string<>]'
../boost/hana/for_each.hpp:46:45:   required from 'constexpr void boost::hana::detail::on_each<F>::operator()(Xs&& ...) const [with Xs = {boost::hana::string<>&, boost::hana::string<'a'>&, boost::hana::string<'a', 'b'>&, boost::hana::string<'a', 'b', 'c'>&, boost::hana::string<'a', 'b', 'c', 'd'>&, boost::hana::string<'a', 'b', 'c', 'd', 'e'>&, boost::hana::string<'b', 'a'>&, boost::hana::string<'a', 'f', 'c', 'd'>&}; F = boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>*]'
../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, 5, 6, 7}; Xn = {boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'>}; F = boost::hana::detail::on_each<boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>*>]'
../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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >&; F = boost::hana::detail::on_each<boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>*>]'
../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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >&; F = boost::hana::detail::on_each<boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>*>]'
../boost/hana/unpack.hpp:47:29:   required from 'constexpr decltype(auto) boost::hana::unpack_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >&; F = boost::hana::detail::on_each<boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>*>]'
../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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >&; F = boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>; 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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >&; F = boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>]'
../libs/hana/test/_include/laws/foldable.hpp:62:27:   required from 'boost::hana::test::TestFoldable<F, boost::hana::test::laws>::TestFoldable(Foldables) [with Foldables = boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >; F = boost::hana::string_tag]'
../libs/hana/test/_include/laws/foldable.hpp:55:38:   required from here
../boost/hana/fwd/equal.hpp:69:12: error: ambiguous template instantiation for 'struct boost::hana::equal_impl<boost::hana::test::Integer<(boost::hana::test::Policy)17, void>, boost::hana::test::Integer<(boost::hana::test::Policy)17, void>, boost::hana::when<true> >'
   69 |     struct equal_impl : equal_impl<T, U, when<true>> { };
      |            ^~~~~~~~~~
../boost/hana/equal.hpp:55:12: note: candidates are: 'template<class T, class U, bool condition> struct boost::hana::equal_impl<T, U, boost::hana::when<condition> > [with T = boost::hana::test::Integer<(boost::hana::test::Policy)17, void>; U = boost::hana::test::Integer<(boost::hana::test::Policy)17, void>; bool condition = true]'
   55 |     struct equal_impl<T, U, when<condition>> : default_ {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/equal.hpp:104:12: note:                 'template<class C> struct boost::hana::equal_impl<C, C, boost::hana::when<(boost::hana::Constant<C>::value && boost::hana::Comparable<typename C::value_type>::value)> > [with C = boost::hana::test::Integer<(boost::hana::test::Policy)17, void>]'
  104 |     struct equal_impl<C, C, when<
      |            ^~~~~~~~~~~~~~~~~~~~~~
  105 |         hana::Constant<C>::value &&
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  106 |         Comparable<typename C::value_type>::value
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  107 |     >> {
      |     ~~      
../boost/hana/fwd/equal.hpp:69:12: error: invalid use of incomplete type 'struct boost::hana::equal_impl<boost::hana::test::Integer<(boost::hana::test::Policy)17, void>, boost::hana::test::Integer<(boost::hana::test::Policy)17, void>, boost::hana::when<true> >'
   69 |     struct equal_impl : equal_impl<T, U, when<true>> { };
      |            ^~~~~~~~~~
../boost/hana/fwd/equal.hpp:69:12: note: declaration of 'struct boost::hana::equal_impl<boost::hana::test::Integer<(boost::hana::test::Policy)17, void>, boost::hana::test::Integer<(boost::hana::test::Policy)17, void>, boost::hana::when<true> >'
../boost/hana/equal.hpp: In instantiation of 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = boost::hana::test::ct_eq<999>&; Y = boost::hana::test::ct_eq<999>&]':
../libs/hana/test/_include/laws/foldable.hpp:76:17:   required from 'boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)> [with auto:30 = boost::hana::string<>]'
../boost/hana/for_each.hpp:46:45:   required from 'constexpr void boost::hana::detail::on_each<F>::operator()(Xs&& ...) const [with Xs = {boost::hana::string<>&, boost::hana::string<'a'>&, boost::hana::string<'a', 'b'>&, boost::hana::string<'a', 'b', 'c'>&, boost::hana::string<'a', 'b', 'c', 'd'>&, boost::hana::string<'a', 'b', 'c', 'd', 'e'>&, boost::hana::string<'b', 'a'>&, boost::hana::string<'a', 'f', 'c', 'd'>&}; F = boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>*]'
../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, 5, 6, 7}; Xn = {boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'>}; F = boost::hana::detail::on_each<boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>*>]'
../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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >&; F = boost::hana::detail::on_each<boost::hana::test::TestFoldable<boost::hana::string_tag, boost::hana::test::laws>::TestFoldable<boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> > >(boost::hana::tuple<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', 'a'>, boost::hana::string<'a', 'f', 'c', 'd'> >)::<lambda(auto:30)>*>]'
../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<boost::hana::string<>, boost::hana::string<'a'>, boost::hana::string<'a', 'b'>, boost::hana::string<'a', 'b', 'c'>, boost::hana::string<'a', 'b', 'c', 'd'>, boost::hana::string<'a', 'b', 'c', 'd', 'e'>, boost::hana::string<'b', '...

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