From 86d3f9f6321489497c974ec71d64b0c67e126f47 Mon Sep 17 00:00:00 2001 From: Christian Mazakas Date: Thu, 2 Mar 2023 15:57:17 -0800 Subject: [PATCH] Refactor `move(init_type&)` to handle defects in C++20 versions of libstdc++ for gcc versions <=12 --- include/boost/unordered/unordered_flat_map.hpp | 2 +- include/boost/unordered/unordered_node_map.hpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/unordered/unordered_flat_map.hpp b/include/boost/unordered/unordered_flat_map.hpp index df2717c6..7fb736f6 100644 --- a/include/boost/unordered/unordered_flat_map.hpp +++ b/include/boost/unordered/unordered_flat_map.hpp @@ -55,7 +55,7 @@ namespace boost { static moved_type move(init_type& x) { - return {std::get<0>(std::move(x)), std::get<1>(std::move(x))}; + return {std::move(x.first), std::move(x.second)}; } static moved_type move(element_type& x) diff --git a/include/boost/unordered/unordered_node_map.hpp b/include/boost/unordered/unordered_node_map.hpp index c6f25b83..6c5611fc 100644 --- a/include/boost/unordered/unordered_node_map.hpp +++ b/include/boost/unordered/unordered_node_map.hpp @@ -79,7 +79,7 @@ namespace boost { static element_type&& move(element_type& x) { return std::move(x); } static moved_type move(init_type& x) { - return {std::get<0>(std::move(x)), std::get<1>(std::move(x))}; + return {std::move(x.first), std::move(x.second)}; } static moved_type move(value_type& x)