From fb6c7369a752b6d54e9f901910dce3b352a4a272 Mon Sep 17 00:00:00 2001 From: Sergey Fedorov Date: Wed, 29 Jul 2026 07:47:08 +0000 Subject: [PATCH 11/13] folly/json/dynamic: restore deprecated iterator-range constructor Upstream removed dynamic(Iterator, Iterator) in c8506de06 as too easily confused with other constructors, but existing dependents (e.g. fbzmq) still use it. Restore it, marked [[deprecated]], delegating to the array_range_construct constructor. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_013G8CDpEyDCCgV4jaMM9WME --- folly/json/dynamic.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/folly/json/dynamic.h b/folly/json/dynamic.h index 4bd30f643..7b3cc151b 100644 --- a/folly/json/dynamic.h +++ b/folly/json/dynamic.h @@ -287,6 +287,16 @@ struct dynamic { return dynamic(array_range_construct, std::forward(range)); } + /** + * Create a dynamic that is an array of the values from the supplied + * iterator range. Restored for compatibility with existing dependents; + * upstream removed it as too easily confused with other constructors. + */ + template + [[deprecated("use array_range_construct ctor or array_range factory")]] + dynamic(Iterator first, Iterator last) + : dynamic(array_range_construct, first, last) {} + dynamic(dynamic const&); dynamic(dynamic&&) noexcept; ~dynamic() noexcept; -- 2.43.0