Commit 015ca678 authored by Giuseppe Ottaviano's avatar Giuseppe Ottaviano Committed by facebook-github-bot-4

Fix test Dynamic.ArrayReassignment with Clang 3.7

Summary:
`dynamic` is one of the few unfortunate recursive types that have a constructor of the form `T(initializer_list<T>)`. After the Defect Report 95 (http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1467) a statement `T t = {v};` where `v` is of type `T` invokes the copy constructor instead of the initializer list constructor. Clang 3.7 implements the new behavior, and GCC probably will soon.
This diff only fixes a test where the ambiguous syntax is used, but a better solution would be preferable.

Reviewed By: philippv

Differential Revision: D2786455

fb-gh-sync-id: 7fa5235e4041cbc8dd3ce685b5a0c23c343f78d2
parent 3740c290
......@@ -232,7 +232,9 @@ TEST(Dynamic, DeepCopy) {
TEST(Dynamic, ArrayReassignment) {
dynamic o = 1;
dynamic d1 = {o};
// After DR95 the single braces dispatch to the copy constructor.
// http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1467
dynamic d1 = {{o}};
EXPECT_EQ(dynamic::ARRAY, d1.type());
d1 = {o};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment