Test output: teeks99-dkr-mg12 - hana - test~concept~constant~laws / gcc-12~c++17
Rev 7e09330c84621efd22370bf57289b67c7283ee21 / Sat, 16 Nov 2024 09:26:04 +0000
Compile [2024-11-16 12:16:26 UTC]: fail


    "g++-12"   -fvisibility-inlines-hidden -std=c++17 -fPIC -m64 -pthread -O0 -fno-inline -Wall -fvisibility=hidden  -DBOOST_ALL_NO_LIB=1 -DBOOST_COBALT_USE_STD_PMR=1   -I".." -I"../libs/hana/test/_include" -I"/var/boost/run/boost_root/libs/assert/include" -I"/var/boost/run/boost_root/libs/core/include" -I"/var/boost/run/boost_root/libs/hana/include" -I"/var/boost/run/boost_root/libs/throw_exception/include" -I"/var/boost/run/boost_root/libs/tuple/include"  -c -o "/var/boost/run/results/boost/bin.v2/libs/hana/test/test~concept~constant~laws.test/gcc-12~c++17/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/concept/constant/laws.o" "../libs/hana/test/concept/constant/laws.cpp"

In file included from ../boost/hana/bool.hpp:17,
                 from ../boost/hana/tuple.hpp:17,
                 from ../libs/hana/test/concept/constant/laws.cpp:7:
../boost/hana/core/to.hpp: In instantiation of 'struct boost::hana::to_impl<minimal_constant_tag<int>, boost::hana::detail::CanonicalConstant<int>, void>':
../boost/hana/core/to.hpp:166:9:   required by substitution of 'template<class From, class To> struct boost::hana::is_embedded<From, To, decltype ((void)(static_cast<boost::hana::embedding<> >((*(boost::hana::to_impl<To, From>*)(0)))))> [with From = boost::hana::detail::CanonicalConstant<int>; To = minimal_constant_tag<int>]'
../libs/hana/test/_include/laws/constant.hpp:72:31:   required from 'boost::hana::test::TestConstant<C, <template-parameter-1-2> >::TestConstant(Xs, Convertibles) [with Xs = boost::hana::tuple<minimal_constant<int, -3>, minimal_constant<int, 0>, minimal_constant<int, 1>, minimal_constant<int, 2>, minimal_constant<int, 3> >; Convertibles = boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>; C = minimal_constant_tag<int>; <template-parameter-1-2> = boost::hana::when<true>]'
../libs/hana/test/concept/constant/laws.cpp:24:80:   required from here
../boost/hana/core/to.hpp:36:12: error: ambiguous template instantiation for 'struct boost::hana::to_impl<minimal_constant_tag<int>, boost::hana::detail::CanonicalConstant<int>, boost::hana::when<true> >'
   36 |     struct to_impl : to_impl<To, From, when<true>> { };
      |            ^~~~~~~
In file included from ../libs/hana/test/concept/constant/laws.cpp:5:
../libs/hana/test/concept/constant/minimal.hpp:33:12: note: candidates are: 'template<class T, class C> struct boost::hana::to_impl<minimal_constant_tag<T>, C, boost::hana::when<(boost::hana::Constant<C>::value && boost::hana::is_convertible<typename C::value_type, T>::value)> > [with T = int; C = boost::hana::detail::CanonicalConstant<int>]'
   33 |     struct to_impl<minimal_constant_tag<T>, C, hana::when<
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   34 |         hana::Constant<C>::value &&
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
   35 |         hana::is_convertible<typename C::value_type, T>::value
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   36 |     >>
      |     ~~      
../boost/hana/core/to.hpp:62:12: note:                 'template<class To, class From, bool condition> struct boost::hana::to_impl<To, From, boost::hana::when<condition> > [with To = minimal_constant_tag<int>; From = boost::hana::detail::CanonicalConstant<int>; bool condition = true]'
   62 |     struct to_impl<To, From, when<condition>>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/core/to.hpp:36:12: error: invalid use of incomplete type 'struct boost::hana::to_impl<minimal_constant_tag<int>, boost::hana::detail::CanonicalConstant<int>, boost::hana::when<true> >'
   36 |     struct to_impl : to_impl<To, From, when<true>> { };
      |            ^~~~~~~
../boost/hana/core/to.hpp:36:12: note: declaration of 'struct boost::hana::to_impl<minimal_constant_tag<int>, boost::hana::detail::CanonicalConstant<int>, boost::hana::when<true> >'
In file included from ../libs/hana/test/concept/constant/laws.cpp:9:
../libs/hana/test/_include/laws/constant.hpp: In instantiation of 'boost::hana::test::TestConstant<C, <template-parameter-1-2> >::TestConstant(Xs, Convertibles) [with Xs = boost::hana::tuple<minimal_constant<int, -3>, minimal_constant<int, 0>, minimal_constant<int, 1>, minimal_constant<int, 2>, minimal_constant<int, 3> >; Convertibles = boost::hana::tuple<boost::hana::type_impl<int>::_, boost::hana::type_impl<long int>::_, boost::hana::type_impl<long long int>::_>; C = minimal_constant_tag<int>; <template-parameter-1-2> = boost::hana::when<true>]':
../libs/hana/test/concept/constant/laws.cpp:24:80:   required from here
../libs/hana/test/_include/laws/constant.hpp:72:31: error: static assertion failed
   72 |                 static_assert(is_embedded<detail::CanonicalConstant<T>, C>{}, "");
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/_include/laws/constant.hpp:72:31: note: 'boost::hana::is_embedded<boost::hana::detail::CanonicalConstant<int>, minimal_constant_tag<int>, void>{}' evaluates to false