From f75ecafe668c6516a22907525db523da9e7ee797 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Sat, 7 Mar 2020 20:58:41 -0500 Subject: [PATCH] Fix move construction of value from object --- include/boost/json/value.hpp | 2 +- test/value.cpp | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/include/boost/json/value.hpp b/include/boost/json/value.hpp index 1e1d8a95d..746118dac 100644 --- a/include/boost/json/value.hpp +++ b/include/boost/json/value.hpp @@ -413,7 +413,7 @@ class value object&& other, storage_ptr sp) : obj_( - other, + detail::move(other), detail::move(sp)) { } diff --git a/test/value.cpp b/test/value.cpp index 42b57af3d..19ba7da61 100644 --- a/test/value.cpp +++ b/test/value.cpp @@ -499,6 +499,13 @@ class value_test BOOST_TEST(jv.is_object()); BOOST_TEST(*jv.storage() == *sp); } + { + // verify moved from + object obj{{"a", 1}, {"b", 2}}; + BOOST_TEST(obj.capacity() > 0); + value jv(std::move(obj), {}); + BOOST_TEST(obj.capacity() == 0); + } } // value(array)