https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88572

--- Comment #13 from Will Wray <wjwray at gmail dot com> ---
Re-reviewing, I notice that the patch I posted in comment #9
now rejects nested empty-brace scalar init:

  int i{{}};

which was previously accepted. So we'll need a decision on this too.

Clang rejects with -pedantic-errors or warns otherwise:
   pedantic error / warning: too many braces around scalar initializer

MSVC rejects:
   error: 'initializing': cannot convert from 'initializer list' to 'int'
   note: Too many braces around initializer for 'int'

I reckon that Clang is right to reject under -pedantic, else accept and warn

This Quora post comes to a similar conclusion:

https://www.quora.com/Is-double-braced-scalar-initialization-allowed-by-the-C-standard-int-x

>accepting {{}} for int seems like a harmless language extension.

Reply via email to