From ea2c005ea5c31c5b078d2c4b21485b6ed41d1092 Mon Sep 17 00:00:00 2001 From: Mathieu Baudet Date: Wed, 10 May 2017 19:05:01 -0700 Subject: [PATCH] add missing const to fix `folly::toDynamic` on `std::vector` Summary: [folly] add missing const to fix `folly::toDynamic` on `std::vector` Reviewed By: ender-wieczorek, yfeldblum Differential Revision: D5039403 fbshipit-source-id: edd052c7d1d832d424166cba15fcd9f4f8bd219c --- folly/DynamicConverter.h | 4 ++-- folly/test/DynamicConverterTest.cpp | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/folly/DynamicConverter.h b/folly/DynamicConverter.h index 9ab4f73a..e569f641 100644 --- a/folly/DynamicConverter.h +++ b/folly/DynamicConverter.h @@ -317,7 +317,7 @@ struct DynamicConstructor< dynamicconverter_detail::is_map::value>::type> { static dynamic construct(const C& x) { dynamic d = dynamic::object; - for (auto& pair : x) { + for (const auto& pair : x) { d.insert(toDynamic(pair.first), toDynamic(pair.second)); } return d; @@ -335,7 +335,7 @@ struct DynamicConstructor< dynamicconverter_detail::is_range::value>::type> { static dynamic construct(const C& x) { dynamic d = dynamic::array; - for (auto& item : x) { + for (const auto& item : x) { d.push_back(toDynamic(item)); } return d; diff --git a/folly/test/DynamicConverterTest.cpp b/folly/test/DynamicConverterTest.cpp index 152eba72..042d1694 100644 --- a/folly/test/DynamicConverterTest.cpp +++ b/folly/test/DynamicConverterTest.cpp @@ -382,6 +382,12 @@ TEST(DynamicConverter, construct) { dynamic::array(3, 4, 5)); EXPECT_EQ(d, toDynamic(c)); } + + { + vector vb{true, false}; + dynamic d = dynamic::array(true, false); + EXPECT_EQ(d, toDynamic(vb)); + } } TEST(DynamicConverter, errors) { -- 2.34.1