From c630611626cec30a80ee2dc7ae881e44e2f03fa5 Mon Sep 17 00:00:00 2001 From: Kohei Takahashi Date: Tue, 1 Nov 2016 01:54:10 +0900 Subject: [PATCH] Fix returing temporary variable warning on MSVC. --- .../fusion/container/deque/detail/keyed_element.hpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/boost/fusion/container/deque/detail/keyed_element.hpp b/include/boost/fusion/container/deque/detail/keyed_element.hpp index 24b5979d..15b68667 100644 --- a/include/boost/fusion/container/deque/detail/keyed_element.hpp +++ b/include/boost/fusion/container/deque/detail/keyed_element.hpp @@ -59,7 +59,7 @@ namespace boost { namespace fusion { namespace detail #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element(keyed_element&& rhs) - : Rest(BOOST_FUSION_FWD_ELEM(Rest, rhs.forward_base())) + : Rest(rhs.forward_base()) , value_(BOOST_FUSION_FWD_ELEM(Value, rhs.value_)) {} #endif @@ -90,7 +90,7 @@ namespace boost { namespace fusion { namespace detail BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED Rest&& forward_base() BOOST_NOEXCEPT { - return BOOST_FUSION_FWD_ELEM(Rest, *static_cast(this)); + return std::move(*static_cast(this)); } #endif @@ -116,7 +116,7 @@ namespace boost { namespace fusion { namespace detail #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element(Value&& value, Rest&& rest) - : Rest(BOOST_FUSION_FWD_ELEM(Rest, rest)) + : Rest(std::move(rest)) , value_(BOOST_FUSION_FWD_ELEM(Value, value)) {} #endif @@ -147,8 +147,8 @@ namespace boost { namespace fusion { namespace detail BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element& operator=(keyed_element&& rhs) { - base::operator=(std::forward(rhs)); - value_ = BOOST_FUSION_FWD_ELEM(Value, rhs.value_); + base::operator=(rhs.forward_base()); + value_ = std::move(rhs.value_); return *this; } #endif