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~ext~std~ratio~laws.test/gcc-12~c++17/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/ext/std/ratio/laws.o" "../libs/hana/test/ext/std/ratio/laws.cpp"
In file included from ../boost/hana/detail/operators/logical.hpp:16,
from ../boost/hana/bool.hpp:21,
from ../boost/hana/ext/std/ratio.hpp:13,
from ../libs/hana/test/ext/std/ratio/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::ext::std::ratio_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:68, auto:69)>::<lambda(auto:70)>; Else = boost::hana::test::TestMonoid<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:68, auto:69)>::<lambda(auto:71)>]'
../libs/hana/test/_include/laws/monoid.hpp:37:17: required from 'boost::hana::test::TestMonoid<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:68, auto:69)> [with auto:68 = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >; auto:69 = std::ratio<0>]'
../boost/hana/functional/partial.hpp:86:43: required from 'constexpr decltype(auto) boost::hana::partial_t<std::integer_sequence<long unsigned int, _Idx ...>, F, X ...>::operator()(Y&& ...) & [with Y = {std::ratio<0, 1>&}; long unsigned int ...n = {0}; F = boost::hana::test::TestMonoid<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:68, auto:69)>; X = {boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >}]'
../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<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:68, auto:69)>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >*>]'
../boost/hana/unpack.hpp:47:29: required from 'constexpr decltype(auto) boost::hana::unpack_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:68, auto:69)>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >*>]'
../boost/hana/for_each.hpp:56:25: required from 'static constexpr void boost::hana::for_each_impl<T, boost::hana::when<condition> >::apply(Xs&&, F&&) [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:68, auto:69)>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >; T = boost::hana::tuple_tag; bool condition = true]'
../boost/hana/for_each.hpp:35:30: required from 'constexpr void boost::hana::for_each_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:68, auto:69)>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >]'
../libs/hana/test/_include/laws/monoid.hpp:33:27: required from 'boost::hana::test::TestMonoid<M, boost::hana::test::laws>::TestMonoid(Xs) [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >; M = boost::hana::ext::std::ratio_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/and.hpp:15,
from ../libs/hana/test/_include/laws/comparable.hpp:8,
from ../libs/hana/test/ext/std/ratio/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, true>&; Then = boost::hana::test::TestMonoid<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:68, auto:69)>::<lambda(auto:70)>; Else = boost::hana::test::TestMonoid<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:68, auto:69)>::<lambda(auto:71)>]'
../libs/hana/test/_include/laws/monoid.hpp:37:17: required from 'boost::hana::test::TestMonoid<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:68, auto:69)> [with auto:68 = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >; auto:69 = std::ratio<0>]'
../boost/hana/functional/partial.hpp:86:43: required from 'constexpr decltype(auto) boost::hana::partial_t<std::integer_sequence<long unsigned int, _Idx ...>, F, X ...>::operator()(Y&& ...) & [with Y = {std::ratio<0, 1>&}; long unsigned int ...n = {0}; F = boost::hana::test::TestMonoid<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:68, auto:69)>; X = {boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >}]'
../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<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:68, auto:69)>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >*>]'
../boost/hana/unpack.hpp:47:29: required from 'constexpr decltype(auto) boost::hana::unpack_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::detail::on_each<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:68, auto:69)>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >*>]'
../boost/hana/for_each.hpp:56:25: required from 'static constexpr void boost::hana::for_each_impl<T, boost::hana::when<condition> >::apply(Xs&&, F&&) [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:68, auto:69)>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >; T = boost::hana::tuple_tag; bool condition = true]'
../boost/hana/for_each.hpp:35:30: required from 'constexpr void boost::hana::for_each_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::TestMonoid<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestMonoid<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:68, auto:69)>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >]'
../libs/hana/test/_include/laws/monoid.hpp:33:27: required from 'boost::hana::test::TestMonoid<M, boost::hana::test::laws>::TestMonoid(Xs) [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >; M = boost::hana::ext::std::ratio_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> >'
../boost/hana/not.hpp: In instantiation of 'constexpr decltype(auto) boost::hana::not_t::operator()(X&&) const [with X = boost::hana::integral_constant<bool, true>]':
../libs/hana/test/_include/laws/base.hpp:71:44: required from 'constexpr decltype(auto) boost::hana::test::implies_t::operator()(P&&, Q&&) const [with P = boost::hana::integral_constant<bool, true>; Q = boost::hana::integral_constant<bool, true>]'
../boost/hana/functional/infix.hpp:100:34: required from 'constexpr decltype(auto) boost::hana::infix_detail::infix_t<left, right, F>::operator()(X&& ...) && [with X = {boost::hana::integral_constant<bool, true>, boost::hana::integral_constant<bool, true>}; bool left = false; bool right = false; F = boost::hana::test::implies_t]'
../boost/hana/functional/partial.hpp:94:61: required from 'constexpr decltype(auto) boost::hana::partial_t<std::integer_sequence<long unsigned int, _Idx ...>, F, X ...>::operator()(Y&& ...) && [with Y = {boost::hana::integral_constant<bool, true>}; long unsigned int ...n = {0}; F = boost::hana::infix_detail::infix_t<false, false, boost::hana::test::implies_t>; X = {boost::hana::integral_constant<bool, true>}]'
../boost/hana/functional/infix.hpp:100:34: required from 'constexpr decltype(auto) boost::hana::infix_detail::infix_t<left, right, F>::operator()(X&& ...) && [with X = {boost::hana::integral_constant<bool, true>}; bool left = true; bool right = false; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::infix_detail::infix_t<false, false, boost::hana::test::implies_t>, boost::hana::integral_constant<bool, true> >]'
../boost/hana/functional/infix.hpp:143:43: required from 'static constexpr decltype(auto) boost::hana::infix_detail::bind_infix<boost::hana::infix_detail::Infix<true, false>, boost::hana::infix_detail::Object>::apply(F&&, Y&&) [with F = boost::hana::infix_detail::infix_t<true, false, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::infix_detail::infix_t<false, false, boost::hana::test::implies_t>, boost::hana::integral_constant<bool, true> > >; Y = boost::hana::integral_constant<bool, true>]'
../boost/hana/functional/infix.hpp:177:21: [ skipping 17 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 = const boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::detail::on_each<boost::hana::_compose<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::for_each_n_t<1>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::make_partial_t, boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> > >*>]'
../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 = const boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::_compose<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::for_each_n_t<1>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::make_partial_t, boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> > >; 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 = const boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::_compose<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::for_each_n_t<1>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::make_partial_t, boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> > >]'
../libs/hana/test/_include/laws/base.hpp:44:31: required from 'constexpr auto boost::hana::test::for_each_n_t<i>::operator()(const Xs&, const F&) const [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >; F = boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)>; int i = 2]'
../libs/hana/test/_include/laws/comparable.hpp:44:21: required from 'boost::hana::test::TestComparable<T, boost::hana::test::laws>::TestComparable(Xs) [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >; T = boost::hana::ext::std::ratio_tag]'
../libs/hana/test/_include/laws/comparable.hpp:33:40: required from here
../boost/hana/not.hpp:39:26: error: 'apply' is not a member of 'Not' {aka 'boost::hana::not_impl<boost::hana::integral_constant_tag<bool>, void>'}
39 | return Not::apply(static_cast<X&&>(x));
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
../boost/hana/not.hpp: In instantiation of 'constexpr decltype(auto) boost::hana::not_t::operator()(X&&) const [with X = boost::hana::integral_constant<bool, true>&]':
../libs/hana/test/_include/laws/base.hpp:71:44: required from 'constexpr decltype(auto) boost::hana::test::implies_t::operator()(P&&, Q&&) const [with P = boost::hana::integral_constant<bool, true>&; Q = boost::hana::integral_constant<bool, true>&]'
../boost/hana/functional/infix.hpp:92:23: required from 'constexpr decltype(auto) boost::hana::infix_detail::infix_t<left, right, F>::operator()(X&& ...) const & [with X = {boost::hana::integral_constant<bool, true>&, boost::hana::integral_constant<bool, true>&}; bool left = false; bool right = false; F = boost::hana::test::implies_t]'
../libs/hana/test/_include/laws/base.hpp:80:42: required from 'constexpr decltype(auto) boost::hana::test::iff_t::operator()(P&&, Q&&) const [with P = boost::hana::integral_constant<bool, true>; Q = boost::hana::integral_constant<bool, true>]'
../boost/hana/functional/infix.hpp:100:34: required from 'constexpr decltype(auto) boost::hana::infix_detail::infix_t<left, right, F>::operator()(X&& ...) && [with X = {boost::hana::integral_constant<bool, true>, boost::hana::integral_constant<bool, true>}; bool left = false; bool right = false; F = boost::hana::test::iff_t]'
../boost/hana/functional/partial.hpp:94:61: required from 'constexpr decltype(auto) boost::hana::partial_t<std::integer_sequence<long unsigned int, _Idx ...>, F, X ...>::operator()(Y&& ...) && [with Y = {boost::hana::integral_constant<bool, true>}; long unsigned int ...n = {0}; F = boost::hana::infix_detail::infix_t<false, false, boost::hana::test::iff_t>; X = {boost::hana::integral_constant<bool, true>}]'
../boost/hana/functional/infix.hpp:100:34: [ skipping 19 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 = const boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::detail::on_each<boost::hana::_compose<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::for_each_n_t<1>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::make_partial_t, boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> > >*>]'
../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 = const boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::_compose<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::for_each_n_t<1>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::make_partial_t, boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> > >; 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 = const boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::_compose<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::for_each_n_t<1>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::make_partial_t, boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> > >]'
../libs/hana/test/_include/laws/base.hpp:44:31: required from 'constexpr auto boost::hana::test::for_each_n_t<i>::operator()(const Xs&, const F&) const [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >; F = boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)>; int i = 2]'
../libs/hana/test/_include/laws/comparable.hpp:44:21: required from 'boost::hana::test::TestComparable<T, boost::hana::test::laws>::TestComparable(Xs) [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >; T = boost::hana::ext::std::ratio_tag]'
../libs/hana/test/_include/laws/comparable.hpp:33:40: required from here
../boost/hana/not.hpp:39:26: error: 'apply' is not a member of 'Not' {aka 'boost::hana::not_impl<boost::hana::integral_constant_tag<bool>, void>'}
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::tuple_tag, boost::hana::tuple_tag, void>':
../boost/hana/equal.hpp:50:28: required from 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = boost::hana::tuple<std::ratio<0, 1> >&; Y = boost::hana::tuple<std::ratio<0, 1> >&]'
../libs/hana/test/_include/laws/base.hpp:163:28: required from 'static constexpr auto boost::hana::equal_impl<boost::hana::test::InjectionResult, boost::hana::test::InjectionResult>::apply(X, Y) [with X = boost::hana::test::injection_result<0, std::ratio<0, 1> >; Y = boost::hana::test::injection_result<0, std::ratio<0, 1> >]'
../boost/hana/equal.hpp:50:28: required from 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = boost::hana::test::injection_result<0, std::ratio<0, 1> >; Y = boost::hana::test::injection_result<0, std::ratio<0, 1> >]'
../boost/hana/comparing.hpp:28:33: required from 'constexpr auto boost::hana::detail::equal_by<F>::operator()(X&&, Y&&) const & [with X = std::ratio<0>&; Y = std::ratio<0>&; F = boost::hana::test::_injection<0>]'
../libs/hana/test/_include/laws/comparable.hpp:72:17: required from 'boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> [with auto:3 = std::ratio<0>; auto:4 = std::ratio<0>]'
../boost/hana/functional/partial.hpp:78:43: [ skipping 15 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 = const boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::detail::on_each<boost::hana::_compose<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::for_each_n_t<1>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::make_partial_t, boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> > >*>]'
../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 = const boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::_compose<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::for_each_n_t<1>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::make_partial_t, boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> > >; 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 = const boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::_compose<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::for_each_n_t<1>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::make_partial_t, boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> > >]'
../libs/hana/test/_include/laws/base.hpp:44:31: required from 'constexpr auto boost::hana::test::for_each_n_t<i>::operator()(const Xs&, const F&) const [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >; F = boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)>; int i = 2]'
../libs/hana/test/_include/laws/comparable.hpp:44:21: required from 'boost::hana::test::TestComparable<T, boost::hana::test::laws>::TestComparable(Xs) [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >; T = boost::hana::ext::std::ratio_tag]'
../libs/hana/test/_include/laws/comparable.hpp:33:40: required from here
../boost/hana/fwd/equal.hpp:69:12: error: ambiguous template instantiation for 'struct boost::hana::equal_impl<boost::hana::tuple_tag, boost::hana::tuple_tag, 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:
../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::tuple_tag; U = boost::hana::tuple_tag; bool condition = true]'
55 | struct equal_impl<T, U, when<condition>> : default_ {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/equal.hpp:168:12: note: 'template<class T, class U> struct boost::hana::equal_impl<T, U, boost::hana::when<(boost::hana::Sequence<S>::value && boost::hana::Sequence<Tag>::value)> > [with T = boost::hana::tuple_tag; U = boost::hana::tuple_tag]'
168 | struct equal_impl<T, U, when<Sequence<T>::value && hana::Sequence<U>::value>> {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/fwd/equal.hpp:69:12: error: invalid use of incomplete type 'struct boost::hana::equal_impl<boost::hana::tuple_tag, boost::hana::tuple_tag, 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::tuple_tag, boost::hana::tuple_tag, 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::tuple<std::ratio<0, 1> >&; Y = boost::hana::tuple<std::ratio<0, 1> >&]':
../libs/hana/test/_include/laws/base.hpp:163:28: required from 'static constexpr auto boost::hana::equal_impl<boost::hana::test::InjectionResult, boost::hana::test::InjectionResult>::apply(X, Y) [with X = boost::hana::test::injection_result<0, std::ratio<0, 1> >; Y = boost::hana::test::injection_result<0, std::ratio<0, 1> >]'
../boost/hana/equal.hpp:50:28: required from 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = boost::hana::test::injection_result<0, std::ratio<0, 1> >; Y = boost::hana::test::injection_result<0, std::ratio<0, 1> >]'
../boost/hana/comparing.hpp:28:33: required from 'constexpr auto boost::hana::detail::equal_by<F>::operator()(X&&, Y&&) const & [with X = std::ratio<0>&; Y = std::ratio<0>&; F = boost::hana::test::_injection<0>]'
../libs/hana/test/_include/laws/comparable.hpp:72:17: required from 'boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> [with auto:3 = std::ratio<0>; auto:4 = std::ratio<0>]'
../boost/hana/functional/partial.hpp:78:43: required from 'constexpr decltype(auto) boost::hana::partial_t<std::integer_sequence<long unsigned int, _Idx ...>, F, X ...>::operator()(Y&& ...) const & [with Y = {const std::ratio<0, 1>&}; long unsigned int ...n = {0}; F = boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)>; X = {std::ratio<0, 1>}]'
../boost/hana/for_each.hpp:46:45: [ skipping 14 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 = const boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::detail::on_each<boost::hana::_compose<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::for_each_n_t<1>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::make_partial_t, boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> > >*>]'
../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 = const boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::_compose<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::for_each_n_t<1>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::make_partial_t, boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> > >; 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 = const boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::_compose<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::for_each_n_t<1>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::make_partial_t, boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> > >]'
../libs/hana/test/_include/laws/base.hpp:44:31: required from 'constexpr auto boost::hana::test::for_each_n_t<i>::operator()(const Xs&, const F&) const [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >; F = boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)>; int i = 2]'
../libs/hana/test/_include/laws/comparable.hpp:44:21: required from 'boost::hana::test::TestComparable<T, boost::hana::test::laws>::TestComparable(Xs) [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >; T = boost::hana::ext::std::ratio_tag]'
../libs/hana/test/_include/laws/comparable.hpp:33:40: required from here
../boost/hana/equal.hpp:50:28: error: 'apply' is not a member of 'Equal' {aka 'boost::hana::equal_impl<boost::hana::tuple_tag, boost::hana::tuple_tag, void>'}
50 | return Equal::apply(static_cast<X&&>(x), static_cast<Y&&>(y));
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/not.hpp: In instantiation of 'constexpr decltype(auto) boost::hana::not_t::operator()(X&&) const [with X = boost::hana::integral_constant<bool, false>]':
../libs/hana/test/_include/laws/base.hpp:71:44: required from 'constexpr decltype(auto) boost::hana::test::implies_t::operator()(P&&, Q&&) const [with P = boost::hana::integral_constant<bool, false>; Q = boost::hana::integral_constant<bool, false>]'
../boost/hana/functional/infix.hpp:100:34: required from 'constexpr decltype(auto) boost::hana::infix_detail::infix_t<left, right, F>::operator()(X&& ...) && [with X = {boost::hana::integral_constant<bool, false>, boost::hana::integral_constant<bool, false>}; bool left = false; bool right = false; F = boost::hana::test::implies_t]'
../boost/hana/functional/partial.hpp:94:61: required from 'constexpr decltype(auto) boost::hana::partial_t<std::integer_sequence<long unsigned int, _Idx ...>, F, X ...>::operator()(Y&& ...) && [with Y = {boost::hana::integral_constant<bool, false>}; long unsigned int ...n = {0}; F = boost::hana::infix_detail::infix_t<false, false, boost::hana::test::implies_t>; X = {boost::hana::integral_constant<bool, false>}]'
../boost/hana/functional/infix.hpp:100:34: required from 'constexpr decltype(auto) boost::hana::infix_detail::infix_t<left, right, F>::operator()(X&& ...) && [with X = {boost::hana::integral_constant<bool, false>}; bool left = true; bool right = false; F = boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::infix_detail::infix_t<false, false, boost::hana::test::implies_t>, boost::hana::integral_constant<bool, false> >]'
../boost/hana/functional/infix.hpp:143:43: required from 'static constexpr decltype(auto) boost::hana::infix_detail::bind_infix<boost::hana::infix_detail::Infix<true, false>, boost::hana::infix_detail::Object>::apply(F&&, Y&&) [with F = boost::hana::infix_detail::infix_t<true, false, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::infix_detail::infix_t<false, false, boost::hana::test::implies_t>, boost::hana::integral_constant<bool, false> > >; Y = boost::hana::integral_constant<bool, false>]'
../boost/hana/functional/infix.hpp:177:21: [ skipping 17 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 = const boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::detail::on_each<boost::hana::_compose<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::for_each_n_t<1>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::make_partial_t, boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> > >*>]'
../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 = const boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::_compose<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::for_each_n_t<1>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::make_partial_t, boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> > >; 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 = const boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::_compose<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::for_each_n_t<1>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::make_partial_t, boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> > >]'
../libs/hana/test/_include/laws/base.hpp:44:31: required from 'constexpr auto boost::hana::test::for_each_n_t<i>::operator()(const Xs&, const F&) const [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >; F = boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)>; int i = 2]'
../libs/hana/test/_include/laws/comparable.hpp:44:21: required from 'boost::hana::test::TestComparable<T, boost::hana::test::laws>::TestComparable(Xs) [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >; T = boost::hana::ext::std::ratio_tag]'
../libs/hana/test/_include/laws/comparable.hpp:33:40: required from here
../boost/hana/not.hpp:39:26: error: 'apply' is not a member of 'Not' {aka 'boost::hana::not_impl<boost::hana::integral_constant_tag<bool>, void>'}
39 | return Not::apply(static_cast<X&&>(x));
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
../boost/hana/not.hpp: In instantiation of 'constexpr decltype(auto) boost::hana::not_t::operator()(X&&) const [with X = boost::hana::integral_constant<bool, false>&]':
../libs/hana/test/_include/laws/base.hpp:71:44: required from 'constexpr decltype(auto) boost::hana::test::implies_t::operator()(P&&, Q&&) const [with P = boost::hana::integral_constant<bool, false>&; Q = boost::hana::integral_constant<bool, false>&]'
../boost/hana/functional/infix.hpp:92:23: required from 'constexpr decltype(auto) boost::hana::infix_detail::infix_t<left, right, F>::operator()(X&& ...) const & [with X = {boost::hana::integral_constant<bool, false>&, boost::hana::integral_constant<bool, false>&}; bool left = false; bool right = false; F = boost::hana::test::implies_t]'
../libs/hana/test/_include/laws/base.hpp:80:42: required from 'constexpr decltype(auto) boost::hana::test::iff_t::operator()(P&&, Q&&) const [with P = boost::hana::integral_constant<bool, false>; Q = boost::hana::integral_constant<bool, false>]'
../boost/hana/functional/infix.hpp:100:34: required from 'constexpr decltype(auto) boost::hana::infix_detail::infix_t<left, right, F>::operator()(X&& ...) && [with X = {boost::hana::integral_constant<bool, false>, boost::hana::integral_constant<bool, false>}; bool left = false; bool right = false; F = boost::hana::test::iff_t]'
../boost/hana/functional/partial.hpp:94:61: required from 'constexpr decltype(auto) boost::hana::partial_t<std::integer_sequence<long unsigned int, _Idx ...>, F, X ...>::operator()(Y&& ...) && [with Y = {boost::hana::integral_constant<bool, false>}; long unsigned int ...n = {0}; F = boost::hana::infix_detail::infix_t<false, false, boost::hana::test::iff_t>; X = {boost::hana::integral_constant<bool, false>}]'
../boost/hana/functional/infix.hpp:100:34: [ skipping 19 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 = const boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::detail::on_each<boost::hana::_compose<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::for_each_n_t<1>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::make_partial_t, boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> > >*>]'
../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 = const boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::_compose<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::for_each_n_t<1>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::make_partial_t, boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> > >; 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 = const boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >&; F = boost::hana::_compose<boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::test::for_each_n_t<1>, boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >, boost::hana::partial_t<std::integer_sequence<long unsigned int, 0>, boost::hana::make_partial_t, boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)> > >]'
../libs/hana/test/_include/laws/base.hpp:44:31: required from 'constexpr auto boost::hana::test::for_each_n_t<i>::operator()(const Xs&, const F&) const [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >; F = boost::hana::test::TestComparable<boost::hana::ext::std::ratio_tag, boost::hana::test::laws>::TestComparable<boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> > >(boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >)::<lambda(auto:3, auto:4)>; int i = 2]'
../libs/hana/test/_include/laws/comparable.hpp:44:21: required from 'boost::hana::test::TestComparable<T, boost::hana::test::laws>::TestComparable(Xs) [with Xs = boost::hana::tuple<std::ratio<0, 1>, std::ratio<1, 3>, std::ratio<1, 2>, std::ratio<2, 6>, std::ratio<3, 1>, std::ratio<7, 8>, std::ratio<3, 5>, std::ratio<2, 1> >; T = boost::hana::ext::std::ratio_tag]'
../libs/hana/test/_include/laws/comparable.hpp:33:40: required from here
../boost/hana/not.hpp:39:26: error: 'apply' is not a member of 'Not' {aka 'boost::hana...
[The content has been trimmed by the report system because it exceeds 65536 bytes]