Caitlin Potter (2015-01-05T19:05:43.000Z)
> In the implementations I checked, this is actually allowed, but it's
parsed as a label instead of what you may expect at first glance (an
object).

For it to be a concise body, you need to change it to `let f = (x) =>
({foo: bar});`. Otherwise, it's like a regular function body.

On Mon, Jan 5, 2015 at 2:02 PM, Frankie Bagnardi <f.bagnardi at gmail.com>
wrote:

> let f = (x) => {foo: bar};
>
> In the implementations I checked, this is actually allowed, but it's
> parsed as a label instead of what you may expect at first glance (an
> object).
>
> Is there any reason this is allowed?  If there's no reason other than to
> match function(){}, this should be a syntax error, in my opinion.
>
> A potentially easier and wider reaching solution here would be to restrict
> labels in strict mode to demand a possible break/continue, else it's a
> syntax error.  The only area I'd be concerned about compatibility is low
> level generated JavaScript.
>
> Thoughts?
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20150105/0357add3/attachment-0001.html>
d at domenic.me (2015-06-02T15:05:33.226Z)
> In the implementations I checked, this is actually allowed, but it's

parsed as a label instead of what you may expect at first glance (an
object).

For it to be a concise body, you need to change it to `let f = (x) =>
({foo: bar});`. Otherwise, it's like a regular function body.