Test output: teeks99-dkr-mg12 - hana - test~issues~github_266 / 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~issues~github_266.test/gcc-12~c++17/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/issues/github_266.o" "../libs/hana/test/issues/github_266.cpp"

In file included from ../boost/hana/detail/operators/logical.hpp:16,
                 from ../boost/hana/bool.hpp:21,
                 from ../libs/hana/test/issues/github_266.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 = boost::hana::integral_constant<bool, true>; Then = const boost::hana::integral_constant<bool, true>&; Else = const boost::hana::integral_constant<bool, false>&]'
../boost/hana/adjust_if.hpp:62:38:   required from 'constexpr decltype(auto) boost::hana::detail::apply_if<Pred, F>::operator()(X&&) const [with X = boost::hana::type_impl<void>::_; Pred = predicate; F = boost::hana::_always<boost::hana::type_impl<main()::anything>::_>]'
../boost/hana/experimental/types.hpp:80:62:   required by substitution of 'template<class ... T, class F, class> static constexpr boost::hana::experimental::types<typename decltype (+ f(typename boost::hana::type_impl<T>::_{}))::type ...> boost::hana::transform_impl<boost::hana::experimental::types_tag>::apply(const boost::hana::experimental::types<T ...>&, F&&) [with T = {void, void}; F = boost::hana::detail::apply_if<predicate, boost::hana::_always<boost::hana::type_impl<main()::anything>::_> >; <template-parameter-1-3> = void]'
../boost/hana/transform.hpp:40:32:   required from 'constexpr auto boost::hana::transform_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::experimental::types<void, void>&; F = boost::hana::detail::apply_if<predicate, boost::hana::_always<boost::hana::type_impl<main()::anything>::_> >]'
../boost/hana/adjust_if.hpp:72:35:   required from 'static constexpr auto boost::hana::adjust_if_impl<Fun, boost::hana::when<condition> >::apply(Xs&&, const Pred&, const F&) [with Xs = boost::hana::experimental::types<void, void>&; Pred = predicate; F = boost::hana::_always<boost::hana::type_impl<main()::anything>::_>; Fun = boost::hana::experimental::types_tag; bool condition = true]'
../boost/hana/adjust_if.hpp:37:31:   required from 'constexpr auto boost::hana::adjust_if_t::operator()(Xs&&, const Pred&, const F&) const [with Xs = boost::hana::experimental::types<void, void>&; Pred = predicate; F = boost::hana::_always<boost::hana::type_impl<main()::anything>::_>]'
../boost/hana/replace_if.hpp:46:35:   required from 'static constexpr auto boost::hana::replace_if_impl<Fun, boost::hana::when<condition> >::apply(Xs&&, Pred&&, Value&&) [with Xs = boost::hana::experimental::types<void, void>&; Pred = predicate; Value = boost::hana::type_impl<main()::anything>::_; Fun = boost::hana::experimental::types_tag; bool condition = true]'
../boost/hana/replace_if.hpp:36:32:   required from 'constexpr auto boost::hana::replace_if_t::operator()(Xs&&, Pred&&, Value&&) const [with Xs = boost::hana::experimental::types<void, void>&; Pred = predicate; Value = boost::hana::type_impl<main()::anything>::_]'
../libs/hana/test/issues/github_266.cpp:16:21:   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/adjust_if.hpp:19,
                 from ../boost/hana/replace_if.hpp:15,
                 from ../libs/hana/test/issues/github_266.cpp:7:
../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 = boost::hana::integral_constant<bool, true>; Then = const boost::hana::integral_constant<bool, true>&; Else = const boost::hana::integral_constant<bool, false>&]'
../boost/hana/adjust_if.hpp:62:38:   required from 'constexpr decltype(auto) boost::hana::detail::apply_if<Pred, F>::operator()(X&&) const [with X = boost::hana::type_impl<void>::_; Pred = predicate; F = boost::hana::_always<boost::hana::type_impl<main()::anything>::_>]'
../boost/hana/experimental/types.hpp:80:62:   required by substitution of 'template<class ... T, class F, class> static constexpr boost::hana::experimental::types<typename decltype (+ f(typename boost::hana::type_impl<T>::_{}))::type ...> boost::hana::transform_impl<boost::hana::experimental::types_tag>::apply(const boost::hana::experimental::types<T ...>&, F&&) [with T = {void, void}; F = boost::hana::detail::apply_if<predicate, boost::hana::_always<boost::hana::type_impl<main()::anything>::_> >; <template-parameter-1-3> = void]'
../boost/hana/transform.hpp:40:32:   required from 'constexpr auto boost::hana::transform_t::operator()(Xs&&, F&&) const [with Xs = boost::hana::experimental::types<void, void>&; F = boost::hana::detail::apply_if<predicate, boost::hana::_always<boost::hana::type_impl<main()::anything>::_> >]'
../boost/hana/adjust_if.hpp:72:35:   required from 'static constexpr auto boost::hana::adjust_if_impl<Fun, boost::hana::when<condition> >::apply(Xs&&, const Pred&, const F&) [with Xs = boost::hana::experimental::types<void, void>&; Pred = predicate; F = boost::hana::_always<boost::hana::type_impl<main()::anything>::_>; Fun = boost::hana::experimental::types_tag; bool condition = true]'
../boost/hana/adjust_if.hpp:37:31:   required from 'constexpr auto boost::hana::adjust_if_t::operator()(Xs&&, const Pred&, const F&) const [with Xs = boost::hana::experimental::types<void, void>&; Pred = predicate; F = boost::hana::_always<boost::hana::type_impl<main()::anything>::_>]'
../boost/hana/replace_if.hpp:46:35:   required from 'static constexpr auto boost::hana::replace_if_impl<Fun, boost::hana::when<condition> >::apply(Xs&&, Pred&&, Value&&) [with Xs = boost::hana::experimental::types<void, void>&; Pred = predicate; Value = boost::hana::type_impl<main()::anything>::_; Fun = boost::hana::experimental::types_tag; bool condition = true]'
../boost/hana/replace_if.hpp:36:32:   required from 'constexpr auto boost::hana::replace_if_t::operator()(Xs&&, Pred&&, Value&&) const [with Xs = boost::hana::experimental::types<void, void>&; Pred = predicate; Value = boost::hana::type_impl<main()::anything>::_]'
../libs/hana/test/issues/github_266.cpp:16:21:   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> >'