Compile [2024-11-16 12:16:25 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~map~assign~move.test/gcc-12~c++17/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/map/assign.move.o" "../libs/hana/test/map/assign.move.cpp"
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,
from ../boost/hana/eval_if.hpp:15,
from ../boost/hana/concept/logical.hpp:19,
from ../boost/hana/if.hpp:15,
from ../boost/hana/assert.hpp:16,
from ../libs/hana/test/map/assign.move.cpp:5:
../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<0>; Y = boost::hana::test::ct_eq<0>]'
../boost/hana/detail/hash_table.hpp:80:24: required from 'struct boost::hana::detail::find_index_impl<std::integer_sequence<long unsigned int, 0>, boost::hana::test::ct_eq<0>, boost::hana::detail::KeyAtIndex<boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly> > >::apply>'
../boost/hana/detail/hash_table.hpp:92:15: required from 'struct boost::hana::detail::find_index<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0> >, boost::hana::test::ct_eq<0>, boost::hana::detail::KeyAtIndex<boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly> > >::apply>'
../boost/hana/map.hpp:476:19: required from 'static constexpr decltype(auto) boost::hana::at_key_impl<boost::hana::map_tag>::apply(Map&&, const Key&) [with Map = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<0>]'
../boost/hana/at_key.hpp:51:28: required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<0>]'
../libs/hana/test/map/assign.move.cpp:45:9: 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>> { };
| ^~~~~~~~~~
In file included from ../boost/hana/at_key.hpp:23,
from ../libs/hana/test/map/assign.move.cpp:6:
../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<0>; Y = boost::hana::test::ct_eq<0>]':
../boost/hana/detail/hash_table.hpp:80:24: required from 'struct boost::hana::detail::find_index_impl<std::integer_sequence<long unsigned int, 0>, boost::hana::test::ct_eq<0>, boost::hana::detail::KeyAtIndex<boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly> > >::apply>'
../boost/hana/detail/hash_table.hpp:92:15: required from 'struct boost::hana::detail::find_index<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0> >, boost::hana::test::ct_eq<0>, boost::hana::detail::KeyAtIndex<boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly> > >::apply>'
../boost/hana/map.hpp:476:19: required from 'static constexpr decltype(auto) boost::hana::at_key_impl<boost::hana::map_tag>::apply(Map&&, const Key&) [with Map = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<0>]'
../boost/hana/at_key.hpp:51:28: required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<0>]'
../libs/hana/test/map/assign.move.cpp:45:9: required from here
../boost/hana/equal.hpp:50:28: error: 'apply' is not a member of 'Equal' {aka '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>'}
50 | return Equal::apply(static_cast<X&&>(x), static_cast<Y&&>(y));
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../libs/hana/test/map/assign.move.cpp:7:
../boost/hana/map.hpp: In instantiation of 'static constexpr decltype(auto) boost::hana::at_key_impl<boost::hana::map_tag>::apply(Map&&, const Key&) [with Map = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<0>]':
../boost/hana/at_key.hpp:51:28: required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<0>]'
../libs/hana/test/map/assign.move.cpp:45:9: required from here
../boost/hana/map.hpp:482:50: error: no matching function for call to 'at_c<index>(boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly> >&)'
482 | return hana::second(hana::at_c<index>(static_cast<Map&&>(map).storage));
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../boost/hana/unpack.hpp:16:
../boost/hana/at.hpp:52:30: note: candidate: 'template<long unsigned int n, class Xs> constexpr decltype(auto) boost::hana::at_c(Xs&&)'
52 | constexpr decltype(auto) at_c(Xs&& xs) {
| ^~~~
../boost/hana/at.hpp:52:30: note: template argument deduction/substitution failed:
In file included from ../boost/hana/functional/partial.hpp:13,
from ../boost/hana/fold_left.hpp:19:
../boost/hana/basic_tuple.hpp:219:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(const basic_tuple<Xs ...>&)'
219 | constexpr decltype(auto) at_c(basic_tuple<Xs...> const& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:219:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:224:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&)'
224 | constexpr decltype(auto) at_c(basic_tuple<Xs...>& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:224:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:229:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&&)'
229 | constexpr decltype(auto) at_c(basic_tuple<Xs...>&& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:229:30: note: template argument deduction/substitution failed:
../libs/hana/test/map/assign.move.cpp: In function 'int main()':
../boost/hana/assert.hpp:192:68: error: template argument 1 is invalid
192 | static_assert(!::boost::hana::Constant<decltype(__hana_tmp)>::value,\
| ^
../boost/hana/assert.hpp:210:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK_MSG'
210 | BOOST_HANA_RUNTIME_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/map/assign.move.cpp:45:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK'
45 | BOOST_HANA_RUNTIME_CHECK(hana::at_key(map0, test::ct_eq<0>{}) == MoveOnly{4});
| ^~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/map.hpp: In instantiation of 'static constexpr decltype(auto) boost::hana::at_key_impl<boost::hana::map_tag>::apply(Map&&, const Key&) [with Map = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<0>]':
../boost/hana/at_key.hpp:51:28: required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<0>]'
../libs/hana/test/map/assign.move.cpp:55:9: required from here
../boost/hana/map.hpp:482:50: error: no matching function for call to 'at_c<index>(boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly> >&)'
482 | return hana::second(hana::at_c<index>(static_cast<Map&&>(map).storage));
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/at.hpp:52:30: note: candidate: 'template<long unsigned int n, class Xs> constexpr decltype(auto) boost::hana::at_c(Xs&&)'
52 | constexpr decltype(auto) at_c(Xs&& xs) {
| ^~~~
../boost/hana/at.hpp:52:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:219:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(const basic_tuple<Xs ...>&)'
219 | constexpr decltype(auto) at_c(basic_tuple<Xs...> const& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:219:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:224:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&)'
224 | constexpr decltype(auto) at_c(basic_tuple<Xs...>& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:224:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:229:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&&)'
229 | constexpr decltype(auto) at_c(basic_tuple<Xs...>&& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:229:30: note: template argument deduction/substitution failed:
../boost/hana/assert.hpp:192:68: error: template argument 1 is invalid
192 | static_assert(!::boost::hana::Constant<decltype(__hana_tmp)>::value,\
| ^
../boost/hana/assert.hpp:210:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK_MSG'
210 | BOOST_HANA_RUNTIME_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/map/assign.move.cpp:55:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK'
55 | BOOST_HANA_RUNTIME_CHECK(hana::at_key(map0, test::ct_eq<0>{}) == MoveOnly{4});
| ^~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/equal.hpp: In instantiation of 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = boost::hana::test::ct_eq<1>; Y = boost::hana::test::ct_eq<1>]':
../boost/hana/detail/hash_table.hpp:80:24: required from 'struct boost::hana::detail::find_index_impl<std::integer_sequence<long unsigned int, 1>, boost::hana::test::ct_eq<1>, boost::hana::detail::KeyAtIndex<boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly> > >::apply>'
../boost/hana/detail/hash_table.hpp:92:15: required from 'struct boost::hana::detail::find_index<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1> >, boost::hana::test::ct_eq<1>, boost::hana::detail::KeyAtIndex<boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly> > >::apply>'
../boost/hana/map.hpp:476:19: required from 'static constexpr decltype(auto) boost::hana::at_key_impl<boost::hana::map_tag>::apply(Map&&, const Key&) [with Map = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<1>]'
../boost/hana/at_key.hpp:51:28: required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<1>]'
../libs/hana/test/map/assign.move.cpp:56:9: required from here
../boost/hana/equal.hpp:50:28: error: 'apply' is not a member of 'Equal' {aka '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>'}
50 | return Equal::apply(static_cast<X&&>(x), static_cast<Y&&>(y));
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/map.hpp: In instantiation of 'static constexpr decltype(auto) boost::hana::at_key_impl<boost::hana::map_tag>::apply(Map&&, const Key&) [with Map = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<1>]':
../boost/hana/at_key.hpp:51:28: required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<1>]'
../libs/hana/test/map/assign.move.cpp:56:9: required from here
../boost/hana/map.hpp:482:50: error: no matching function for call to 'at_c<index>(boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly> >&)'
482 | return hana::second(hana::at_c<index>(static_cast<Map&&>(map).storage));
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/at.hpp:52:30: note: candidate: 'template<long unsigned int n, class Xs> constexpr decltype(auto) boost::hana::at_c(Xs&&)'
52 | constexpr decltype(auto) at_c(Xs&& xs) {
| ^~~~
../boost/hana/at.hpp:52:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:219:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(const basic_tuple<Xs ...>&)'
219 | constexpr decltype(auto) at_c(basic_tuple<Xs...> const& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:219:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:224:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&)'
224 | constexpr decltype(auto) at_c(basic_tuple<Xs...>& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:224:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:229:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&&)'
229 | constexpr decltype(auto) at_c(basic_tuple<Xs...>&& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:229:30: note: template argument deduction/substitution failed:
../boost/hana/assert.hpp:192:68: error: template argument 1 is invalid
192 | static_assert(!::boost::hana::Constant<decltype(__hana_tmp)>::value,\
| ^
../boost/hana/assert.hpp:210:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK_MSG'
210 | BOOST_HANA_RUNTIME_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/map/assign.move.cpp:56:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK'
56 | BOOST_HANA_RUNTIME_CHECK(hana::at_key(map0, test::ct_eq<1>{}) == MoveOnly{5});
| ^~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/map.hpp: In instantiation of 'static constexpr decltype(auto) boost::hana::at_key_impl<boost::hana::map_tag>::apply(Map&&, const Key&) [with Map = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<0>]':
../boost/hana/at_key.hpp:51:28: required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<0>]'
../libs/hana/test/map/assign.move.cpp:69:9: required from here
../boost/hana/map.hpp:482:50: error: no matching function for call to 'at_c<index>(boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly> >&)'
482 | return hana::second(hana::at_c<index>(static_cast<Map&&>(map).storage));
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/at.hpp:52:30: note: candidate: 'template<long unsigned int n, class Xs> constexpr decltype(auto) boost::hana::at_c(Xs&&)'
52 | constexpr decltype(auto) at_c(Xs&& xs) {
| ^~~~
../boost/hana/at.hpp:52:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:219:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(const basic_tuple<Xs ...>&)'
219 | constexpr decltype(auto) at_c(basic_tuple<Xs...> const& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:219:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:224:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&)'
224 | constexpr decltype(auto) at_c(basic_tuple<Xs...>& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:224:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:229:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&&)'
229 | constexpr decltype(auto) at_c(basic_tuple<Xs...>&& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:229:30: note: template argument deduction/substitution failed:
../boost/hana/assert.hpp:192:68: error: template argument 1 is invalid
192 | static_assert(!::boost::hana::Constant<decltype(__hana_tmp)>::value,\
| ^
../boost/hana/assert.hpp:210:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK_MSG'
210 | BOOST_HANA_RUNTIME_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/map/assign.move.cpp:69:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK'
69 | BOOST_HANA_RUNTIME_CHECK(hana::at_key(map0, test::ct_eq<0>{}) == MoveOnly{4});
| ^~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/map.hpp: In instantiation of 'static constexpr decltype(auto) boost::hana::at_key_impl<boost::hana::map_tag>::apply(Map&&, const Key&) [with Map = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<1>]':
../boost/hana/at_key.hpp:51:28: required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<1>]'
../libs/hana/test/map/assign.move.cpp:70:9: required from here
../boost/hana/map.hpp:482:50: error: no matching function for call to 'at_c<index>(boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly> >&)'
482 | return hana::second(hana::at_c<index>(static_cast<Map&&>(map).storage));
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/at.hpp:52:30: note: candidate: 'template<long unsigned int n, class Xs> constexpr decltype(auto) boost::hana::at_c(Xs&&)'
52 | constexpr decltype(auto) at_c(Xs&& xs) {
| ^~~~
../boost/hana/at.hpp:52:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:219:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(const basic_tuple<Xs ...>&)'
219 | constexpr decltype(auto) at_c(basic_tuple<Xs...> const& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:219:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:224:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&)'
224 | constexpr decltype(auto) at_c(basic_tuple<Xs...>& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:224:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:229:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&&)'
229 | constexpr decltype(auto) at_c(basic_tuple<Xs...>&& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:229:30: note: template argument deduction/substitution failed:
../boost/hana/assert.hpp:192:68: error: template argument 1 is invalid
192 | static_assert(!::boost::hana::Constant<decltype(__hana_tmp)>::value,\
| ^
../boost/hana/assert.hpp:210:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK_MSG'
210 | BOOST_HANA_RUNTIME_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/map/assign.move.cpp:70:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK'
70 | BOOST_HANA_RUNTIME_CHECK(hana::at_key(map0, test::ct_eq<1>{}) == MoveOnly{5});
| ^~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/equal.hpp: In instantiation of 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = boost::hana::test::ct_eq<2>; Y = boost::hana::test::ct_eq<2>]':
../boost/hana/detail/hash_table.hpp:80:24: required from 'struct boost::hana::detail::find_index_impl<std::integer_sequence<long unsigned int, 2>, boost::hana::test::ct_eq<2>, boost::hana::detail::KeyAtIndex<boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly> > >::apply>'
../boost/hana/detail/hash_table.hpp:92:15: required from 'struct boost::hana::detail::find_index<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2> >, boost::hana::test::ct_eq<2>, boost::hana::detail::KeyAtIndex<boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly> > >::apply>'
../boost/hana/map.hpp:476:19: required from 'static constexpr decltype(auto) boost::hana::at_key_impl<boost::hana::map_tag>::apply(Map&&, const Key&) [with Map = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<2>]'
../boost/hana/at_key.hpp:51:28: required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<2>]'
../libs/hana/test/map/assign.move.cpp:71:9: required from here
../boost/hana/equal.hpp:50:28: error: 'apply' is not a member of 'Equal' {aka '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>'}
50 | return Equal::apply(static_cast<X&&>(x), static_cast<Y&&>(y));
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/map.hpp: In instantiation of 'static constexpr decltype(auto) boost::hana::at_key_impl<boost::hana::map_tag>::apply(Map&&, const Key&) [with Map = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<2>]':
../boost/hana/at_key.hpp:51:28: required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly> > >&; Key = boost::hana::test::ct_eq<2>]'
../libs/hana/test/map/assign.move.cpp:71:9: required from here
../boost/hana/map.hpp:482:50: error: no matching function for call to 'at_c<index>(boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly> >&)'
482 | return hana::second(hana::at_c<index>(static_cast<Map&&>(map).storage));
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/at.hpp:52:30: note: candidate: 'template<long unsigned int n, class Xs> constexpr decltype(auto) boost::hana::at_c(Xs&&)'
52 | constexpr decltype(auto) at_c(Xs&& xs) {
| ^~~~
../boost/hana/at.hpp:52:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:219:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(const basic_tuple<Xs ...>&)'
219 | constexpr decltype(auto) at_c(basic_tuple<Xs...> const& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:219:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:224:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&)'
224 | constexpr decltype(auto) at_c(basic_tuple<Xs...>& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:224:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:229:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&&)'
229 | constexpr decltype(auto) at_c(basic_tuple<Xs...>&& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:229:30: note: template argument deduction/substitution failed:
../boost/hana/assert.hpp:192:68: error: template argument 1 is invalid
192 | static_assert(!::boost::hana::Constant<decltype(__hana_tmp)>::value,\
| ^
../boost/hana/assert.hpp:210:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK_MSG'
210 | BOOST_HANA_RUNTIME_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/map/assign.move.cpp:71:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK'
71 | BOOST_HANA_RUNTIME_CHECK(hana::at_key(map0, test::ct_eq<2>{}) == MoveOnly{6});
| ^~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/map.hpp: In instantiation of 'static constexpr decltype(auto) boost::hana::at_key_impl<boost::hana::map_tag>::apply(Map&&, const Key&) [with Map = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 3>, 3> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<3>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&; Key = boost::hana::test::ct_eq<0>]':
../boost/hana/at_key.hpp:51:28: required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 3>, 3> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<3>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&; Key = boost::hana::test::ct_eq<0>]'
../libs/hana/test/map/assign.move.cpp:87:9: required from here
../boost/hana/map.hpp:482:50: error: no matching function for call to 'at_c<index>(boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<3>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)'
482 | return hana::second(hana::at_c<index>(static_cast<Map&&>(map).storage));
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/at.hpp:52:30: note: candidate: 'template<long unsigned int n, class Xs> constexpr decltype(auto) boost::hana::at_c(Xs&&)'
52 | constexpr decltype(auto) at_c(Xs&& xs) {
| ^~~~
../boost/hana/at.hpp:52:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:219:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(const basic_tuple<Xs ...>&)'
219 | constexpr decltype(auto) at_c(basic_tuple<Xs...> const& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:219:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:224:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&)'
224 | constexpr decltype(auto) at_c(basic_tuple<Xs...>& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:224:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:229:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&&)'
229 | constexpr decltype(auto) at_c(basic_tuple<Xs...>&& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:229:30: note: template argument deduction/substitution failed:
../boost/hana/assert.hpp:192:68: error: template argument 1 is invalid
192 | static_assert(!::boost::hana::Constant<decltype(__hana_tmp)>::value,\
| ^
../boost/hana/assert.hpp:210:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK_MSG'
210 | BOOST_HANA_RUNTIME_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/map/assign.move.cpp:87:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK'
87 | BOOST_HANA_RUNTIME_CHECK(hana::at_key(map0, test::ct_eq<0>{}) == MoveOnly{4});
| ^~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/map.hpp: In instantiation of 'static constexpr decltype(auto) boost::hana::at_key_impl<boost::hana::map_tag>::apply(Map&&, const Key&) [with Map = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 3>, 3> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<3>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&; Key = boost::hana::test::ct_eq<1>]':
../boost/hana/at_key.hpp:51:28: required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 3>, 3> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<3>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&; Key = boost::hana::test::ct_eq<1>]'
../libs/hana/test/map/assign.move.cpp:88:9: required from here
../boost/hana/map.hpp:482:50: error: no matching function for call to 'at_c<index>(boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<3>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)'
482 | return hana::second(hana::at_c<index>(static_cast<Map&&>(map).storage));
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/at.hpp:52:30: note: candidate: 'template<long unsigned int n, class Xs> constexpr decltype(auto) boost::hana::at_c(Xs&&)'
52 | constexpr decltype(auto) at_c(Xs&& xs) {
| ^~~~
../boost/hana/at.hpp:52:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:219:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(const basic_tuple<Xs ...>&)'
219 | constexpr decltype(auto) at_c(basic_tuple<Xs...> const& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:219:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:224:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&)'
224 | constexpr decltype(auto) at_c(basic_tuple<Xs...>& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:224:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:229:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&&)'
229 | constexpr decltype(auto) at_c(basic_tuple<Xs...>&& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:229:30: note: template argument deduction/substitution failed:
../boost/hana/assert.hpp:192:68: error: template argument 1 is invalid
192 | static_assert(!::boost::hana::Constant<decltype(__hana_tmp)>::value,\
| ^
../boost/hana/assert.hpp:210:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK_MSG'
210 | BOOST_HANA_RUNTIME_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/map/assign.move.cpp:88:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK'
88 | BOOST_HANA_RUNTIME_CHECK(hana::at_key(map0, test::ct_eq<1>{}) == MoveOnly{5});
| ^~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/map.hpp: In instantiation of 'static constexpr decltype(auto) boost::hana::at_key_impl<boost::hana::map_tag>::apply(Map&&, const Key&) [with Map = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 3>, 3> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<3>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&; Key = boost::hana::test::ct_eq<2>]':
../boost/hana/at_key.hpp:51:28: required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 3>, 3> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<3>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&; Key = boost::hana::test::ct_eq<2>]'
../libs/hana/test/map/assign.move.cpp:89:9: required from here
../boost/hana/map.hpp:482:50: error: no matching function for call to 'at_c<index>(boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<3>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)'
482 | return hana::second(hana::at_c<index>(static_cast<Map&&>(map).storage));
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/at.hpp:52:30: note: candidate: 'template<long unsigned int n, class Xs> constexpr decltype(auto) boost::hana::at_c(Xs&&)'
52 | constexpr decltype(auto) at_c(Xs&& xs) {
| ^~~~
../boost/hana/at.hpp:52:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:219:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(const basic_tuple<Xs ...>&)'
219 | constexpr decltype(auto) at_c(basic_tuple<Xs...> const& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:219:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:224:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&)'
224 | constexpr decltype(auto) at_c(basic_tuple<Xs...>& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:224:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:229:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&&)'
229 | constexpr decltype(auto) at_c(basic_tuple<Xs...>&& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:229:30: note: template argument deduction/substitution failed:
../boost/hana/assert.hpp:192:68: error: template argument 1 is invalid
192 | static_assert(!::boost::hana::Constant<decltype(__hana_tmp)>::value,\
| ^
../boost/hana/assert.hpp:210:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK_MSG'
210 | BOOST_HANA_RUNTIME_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/map/assign.move.cpp:89:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK'
89 | BOOST_HANA_RUNTIME_CHECK(hana::at_key(map0, test::ct_eq<2>{}) == MoveOnly{6});
| ^~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/equal.hpp: In instantiation of 'constexpr auto boost::hana::equal_t::operator()(X&&, Y&&) const [with X = boost::hana::test::ct_eq<3>; Y = boost::hana::test::ct_eq<3>]':
../boost/hana/detail/hash_table.hpp:80:24: required from 'struct boost::hana::detail::find_index_impl<std::integer_sequence<long unsigned int, 3>, boost::hana::test::ct_eq<3>, boost::hana::detail::KeyAtIndex<boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<3>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::apply>'
../boost/hana/detail/hash_table.hpp:92:15: required from 'struct boost::hana::detail::find_index<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 3>, 3> >, boost::hana::test::ct_eq<3>, boost::hana::detail::KeyAtIndex<boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<3>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::apply>'
../boost/hana/map.hpp:476:19: required from 'static constexpr decltype(auto) boost::hana::at_key_impl<boost::hana::map_tag>::apply(Map&&, const Key&) [with Map = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 3>, 3> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<3>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&; Key = boost::hana::test::ct_eq<3>]'
../boost/hana/at_key.hpp:51:28: required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 3>, 3> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<3>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&; Key = boost::hana::test::ct_eq<3>]'
../libs/hana/test/map/assign.move.cpp:90:9: required from here
../boost/hana/equal.hpp:50:28: error: 'apply' is not a member of 'Equal' {aka '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>'}
50 | return Equal::apply(static_cast<X&&>(x), static_cast<Y&&>(y));
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/map.hpp: In instantiation of 'static constexpr decltype(auto) boost::hana::at_key_impl<boost::hana::map_tag>::apply(Map&&, const Key&) [with Map = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 3>, 3> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<3>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&; Key = boost::hana::test::ct_eq<3>]':
../boost/hana/at_key.hpp:51:28: required from 'constexpr decltype(auto) boost::hana::at_key_t::operator()(Xs&&, const Key&) const [with Xs = boost::hana::detail::map_impl<boost::hana::detail::hash_table<boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 0>, 0>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 1>, 1>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 2>, 2>, boost::hana::detail::bucket<boost::hana::integral_constant<long long int, 3>, 3> >, boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<3>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&; Key = boost::hana::test::ct_eq<3>]'
../libs/hana/test/map/assign.move.cpp:90:9: required from here
../boost/hana/map.hpp:482:50: error: no matching function for call to 'at_c<index>(boost::hana::basic_tuple<boost::hana::pair<boost::hana::test::ct_eq<0>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<1>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<2>, MoveOnly>, boost::hana::pair<boost::hana::test::ct_eq<3>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)'
482 | return hana::second(hana::at_c<index>(static_cast<Map&&>(map).storage));
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/hana/at.hpp:52:30: note: candidate: 'template<long unsigned int n, class Xs> constexpr decltype(auto) boost::hana::at_c(Xs&&)'
52 | constexpr decltype(auto) at_c(Xs&& xs) {
| ^~~~
../boost/hana/at.hpp:52:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:219:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(const basic_tuple<Xs ...>&)'
219 | constexpr decltype(auto) at_c(basic_tuple<Xs...> const& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:219:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:224:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&)'
224 | constexpr decltype(auto) at_c(basic_tuple<Xs...>& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:224:30: note: template argument deduction/substitution failed:
../boost/hana/basic_tuple.hpp:229:30: note: candidate: 'template<long unsigned int n, class ... Xs> constexpr decltype(auto) boost::hana::at_c(basic_tuple<Xs ...>&&)'
229 | constexpr decltype(auto) at_c(basic_tuple<Xs...>&& xs) {
| ^~~~
../boost/hana/basic_tuple.hpp:229:30: note: template argument deduction/substitution failed:
../boost/hana/assert.hpp:192:68: error: template argument 1 is invalid
192 | static_assert(!::boost::hana::Constant<decltype(__hana_tmp)>::value,\
| ^
../boost/hana/assert.hpp:210:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK_MSG'
210 | BOOST_HANA_RUNTIME_CHECK_MSG( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/hana/test/map/assign.move.cpp:90:9: note: in expansion of macro 'BOOST_HANA_RUNTIME_CHECK'
90 | BOOST_HANA_RUNTIME_CHECK(hana::at_key(map0, test::ct_eq<3>{}) == std::string{"abc"});
| ^~~~~~~~~~~~~~~~~~~~~~~~