Compile [2024-11-16 12:16:26 UTC]: fail
"g++-12" -fvisibility-inlines-hidden -std=c++17 -fPIC -m64 -pthread -O0 -fno-inline -Wall -fvisibility=hidden -DBOOST_ALL_NO_LIB=1 -DBOOST_COBALT_USE_STD_PMR=1 -I".." -I"../libs/hana/test/_include" -I"/var/boost/run/boost_root/libs/assert/include" -I"/var/boost/run/boost_root/libs/core/include" -I"/var/boost/run/boost_root/libs/hana/include" -I"/var/boost/run/boost_root/libs/throw_exception/include" -I"/var/boost/run/boost_root/libs/tuple/include" -c -o "/var/boost/run/results/boost/bin.v2/libs/hana/test/test~ext~std~integral_constant~tag.test/gcc-12~c++17/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/ext/std/integral_constant/tag.o" "../libs/hana/test/ext/std/integral_constant/tag.cpp"
In file included from ../boost/hana/concept/integral_constant.hpp:16,
from ../boost/hana/ext/std/integral_constant.hpp:13,
from ../libs/hana/test/ext/std/integral_constant/tag.cpp:5:
../boost/hana/core/tag_of.hpp: In instantiation of 'struct boost::hana::tag_of<inherit_simple, void>':
../boost/hana/fwd/core/tag_of.hpp:117:11: required by substitution of 'template<class T> using tag_of_t = typename boost::hana::tag_of<T>::type [with T = inherit_simple]'
../libs/hana/test/ext/std/integral_constant/tag.cpp:24:34: required from here
../boost/hana/core/tag_of.hpp:24:12: error: ambiguous template instantiation for 'struct boost::hana::tag_of<inherit_simple, boost::hana::when<true> >'
24 | struct tag_of : tag_of<T, when<true>> { };
| ^~~~~~
../boost/hana/core/tag_of.hpp:33:12: note: candidates are: 'template<class T, bool condition> struct boost::hana::tag_of<T, boost::hana::when<condition> > [with T = inherit_simple; bool condition = true]'
33 | struct tag_of<T, when<condition>> {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/ext/std/integral_constant.hpp:68:12: note: 'template<class T> struct boost::hana::tag_of<T, boost::hana::when<(boost::hana::detail::is_std_integral_constant((T*)(0)) && (! boost::hana::detail::is_hana_integral_constant((T*)(0))))> > [with T = inherit_simple]'
68 | struct tag_of<T, when<
| ^~~~~~~~~~~~~~~
69 | detail::is_std_integral_constant((T*)0) &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 | !detail::is_hana_integral_constant((T*)0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 | >> {
| ~~
../boost/hana/core/tag_of.hpp:24:12: error: invalid use of incomplete type 'struct boost::hana::tag_of<inherit_simple, boost::hana::when<true> >'
24 | struct tag_of : tag_of<T, when<true>> { };
| ^~~~~~
../boost/hana/core/tag_of.hpp:24:12: note: declaration of 'struct boost::hana::tag_of<inherit_simple, boost::hana::when<true> >'
In file included from ../boost/hana/core/tag_of.hpp:13:
../boost/hana/fwd/core/tag_of.hpp: In substitution of 'template<class T> using tag_of_t = typename boost::hana::tag_of<T>::type [with T = inherit_simple]':
../libs/hana/test/ext/std/integral_constant/tag.cpp:24:34: required from here
../boost/hana/fwd/core/tag_of.hpp:117:11: error: no type named 'type' in 'struct boost::hana::tag_of<inherit_simple, void>'
117 | using tag_of_t = typename hana::tag_of<T>::type;
| ^~~~~~~~
../libs/hana/test/ext/std/integral_constant/tag.cpp:26:1: error: template argument 1 is invalid
26 | >{}, "");
| ^
../boost/hana/core/tag_of.hpp: In instantiation of 'struct boost::hana::tag_of<inherit_no_default, void>':
../boost/hana/fwd/core/tag_of.hpp:117:11: required by substitution of 'template<class T> using tag_of_t = typename boost::hana::tag_of<T>::type [with T = inherit_no_default]'
../libs/hana/test/ext/std/integral_constant/tag.cpp:28:38: required from here
../boost/hana/core/tag_of.hpp:24:12: error: ambiguous template instantiation for 'struct boost::hana::tag_of<inherit_no_default, boost::hana::when<true> >'
24 | struct tag_of : tag_of<T, when<true>> { };
| ^~~~~~
../boost/hana/core/tag_of.hpp:33:12: note: candidates are: 'template<class T, bool condition> struct boost::hana::tag_of<T, boost::hana::when<condition> > [with T = inherit_no_default; bool condition = true]'
33 | struct tag_of<T, when<condition>> {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/ext/std/integral_constant.hpp:68:12: note: 'template<class T> struct boost::hana::tag_of<T, boost::hana::when<(boost::hana::detail::is_std_integral_constant((T*)(0)) && (! boost::hana::detail::is_hana_integral_constant((T*)(0))))> > [with T = inherit_no_default]'
68 | struct tag_of<T, when<
| ^~~~~~~~~~~~~~~
69 | detail::is_std_integral_constant((T*)0) &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 | !detail::is_hana_integral_constant((T*)0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 | >> {
| ~~
../boost/hana/core/tag_of.hpp:24:12: error: invalid use of incomplete type 'struct boost::hana::tag_of<inherit_no_default, boost::hana::when<true> >'
24 | struct tag_of : tag_of<T, when<true>> { };
| ^~~~~~
../boost/hana/core/tag_of.hpp:24:12: note: declaration of 'struct boost::hana::tag_of<inherit_no_default, boost::hana::when<true> >'
../boost/hana/fwd/core/tag_of.hpp: In substitution of 'template<class T> using tag_of_t = typename boost::hana::tag_of<T>::type [with T = inherit_no_default]':
../libs/hana/test/ext/std/integral_constant/tag.cpp:28:38: required from here
../boost/hana/fwd/core/tag_of.hpp:117:11: error: no type named 'type' in 'struct boost::hana::tag_of<inherit_no_default, void>'
117 | using tag_of_t = typename hana::tag_of<T>::type;
| ^~~~~~~~
../libs/hana/test/ext/std/integral_constant/tag.cpp:30:1: error: template argument 1 is invalid
30 | >{}, "");
| ^
../boost/hana/core/tag_of.hpp: In instantiation of 'struct boost::hana::tag_of<std::is_pointer<int*>, void>':
../boost/hana/fwd/core/tag_of.hpp:117:11: required by substitution of 'template<class T> using tag_of_t = typename boost::hana::tag_of<T>::type [with T = std::is_pointer<int*>]'
../libs/hana/test/ext/std/integral_constant/tag.cpp:32:40: required from here
../boost/hana/core/tag_of.hpp:24:12: error: ambiguous template instantiation for 'struct boost::hana::tag_of<std::is_pointer<int*>, boost::hana::when<true> >'
24 | struct tag_of : tag_of<T, when<true>> { };
| ^~~~~~
../boost/hana/core/tag_of.hpp:33:12: note: candidates are: 'template<class T, bool condition> struct boost::hana::tag_of<T, boost::hana::when<condition> > [with T = std::is_pointer<int*>; bool condition = true]'
33 | struct tag_of<T, when<condition>> {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/ext/std/integral_constant.hpp:68:12: note: 'template<class T> struct boost::hana::tag_of<T, boost::hana::when<(boost::hana::detail::is_std_integral_constant((T*)(0)) && (! boost::hana::detail::is_hana_integral_constant((T*)(0))))> > [with T = std::is_pointer<int*>]'
68 | struct tag_of<T, when<
| ^~~~~~~~~~~~~~~
69 | detail::is_std_integral_constant((T*)0) &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 | !detail::is_hana_integral_constant((T*)0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 | >> {
| ~~
../boost/hana/core/tag_of.hpp:24:12: error: invalid use of incomplete type 'struct boost::hana::tag_of<std::is_pointer<int*>, boost::hana::when<true> >'
24 | struct tag_of : tag_of<T, when<true>> { };
| ^~~~~~
../boost/hana/core/tag_of.hpp:24:12: note: declaration of 'struct boost::hana::tag_of<std::is_pointer<int*>, boost::hana::when<true> >'
../boost/hana/fwd/core/tag_of.hpp: In substitution of 'template<class T> using tag_of_t = typename boost::hana::tag_of<T>::type [with T = std::is_pointer<int*>]':
../libs/hana/test/ext/std/integral_constant/tag.cpp:32:40: required from here
../boost/hana/fwd/core/tag_of.hpp:117:11: error: no type named 'type' in 'struct boost::hana::tag_of<std::is_pointer<int*>, void>'
117 | using tag_of_t = typename hana::tag_of<T>::type;
| ^~~~~~~~
../libs/hana/test/ext/std/integral_constant/tag.cpp:34:1: error: template argument 1 is invalid
34 | >{}, "");
| ^