Deprecate dynamic::dynamic(std::initializer_list<dynamic>) deprecate-dynamic-initializer
authorGiuseppe Ottaviano <ott@fb.com>
Mon, 7 Mar 2016 19:53:13 +0000 (11:53 -0800)
committerFacebook Github Bot 6 <facebook-github-bot-6-bot@fb.com>
Mon, 7 Mar 2016 20:05:22 +0000 (12:05 -0800)
commit07dc3ce5923b2d761ca9fd7cd53ee890a4ad839d
tree3a81ccabb62e8f02b8504f232d2848f1389f26e5
parentb873a628fd1a22364846da5692e6d887d5c59266
Deprecate dynamic::dynamic(std::initializer_list<dynamic>)

Summary:After DR95 the single braces dispatch to the copy constructor
(http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1467),
so it is not possible anymore to initialize a singleton dynamic array
using the braces syntax. The initializer list constructor already had
a special case for empty lists, which unconditionally called the
default constructor if defined.

This diff deprecates the braces syntax and defines the following alternative:
```
dynamic empty = dynamic::array;
dynamic a = dynamic::array(1, 2, "foo");
```

Reviewed By: luciang, yfeldblum

Differential Revision: D3013423

fb-gh-sync-id: a0cf09dfd96e9806044f7c3bf3592c637a9bc932
shipit-source-id: a0cf09dfd96e9806044f7c3bf3592c637a9bc932
folly/DynamicConverter.h
folly/docs/Dynamic.md
folly/dynamic-inl.h
folly/dynamic.h
folly/json.cpp
folly/test/DynamicConverterTest.cpp
folly/test/DynamicOtherTest.cpp
folly/test/DynamicTest.cpp
folly/test/JsonTest.cpp