http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54947
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-11-07 12:29:28 UTC --- (In reply to comment #3) > I think it is unambiguous, as for designated initializer there needs to be = > after ], Ah yes, that's true. > while for lambda {, right? Or ( for a parameter list, e.g. [](int i) { return i; } But you're right, it shouldn't be ambiguous.