{"action":"created","issue":{"url":"https://api.github.com/repos/tc39/ecma262/issues/614","repository_url":"https://api.github.com/repos/tc39/ecma262","labels_url":"https://api.github.com/repos/tc39/ecma262/issues/614/labels{/name}","comments_url":"https://api.github.com/repos/tc39/ecma262/issues/614/comments","events_url":"https://api.github.com/repos/tc39/ecma262/issues/614/events","html_url":"https://github.com/tc39/ecma262/pull/614","id":161261089,"number":614,"title":"Normative: Allow initializers in ForInStatement heads","user":{"login":"bakkot","id":1653598,"avatar_url":"https://avatars.githubusercontent.com/u/1653598?v=3","gravatar_id":"","url":"https://api.github.com/users/bakkot","html_url":"https://github.com/bakkot","followers_url":"https://api.github.com/users/bakkot/followers","following_url":"https://api.github.com/users/bakkot/following{/other_user}","gists_url":"https://api.github.com/users/bakkot/gists{/gist_id}","starred_url":"https://api.github.com/users/bakkot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakkot/subscriptions","organizations_url":"https://api.github.com/users/bakkot/orgs","repos_url":"https://api.github.com/users/bakkot/repos","events_url":"https://api.github.com/users/bakkot/events{/privacy}","received_events_url":"https://api.github.com/users/bakkot/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2016-06-20T18:24:00Z","updated_at":"2016-06-20T21:05:38Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/tc39/ecma262/pulls/614","html_url":"https://github.com/tc39/ecma262/pull/614","diff_url":"https://github.com/tc39/ecma262/pull/614.diff","patch_url":"https://github.com/tc39/ecma262/pull/614.patch"},"body":"Fixes #260.\r\n\r\nPer [discussion](https://github.com/rwaldron/tc39-notes/blob/aad8937063ab32eb33ec2a5b40325b1d9f171180/es6/2014-04/apr-10.md#revisiting-initializer-in-for-in), this adds a section in Annex B with a production for `for ( var BindingIdentifier Initializer in Expression) Statement` with its original semantics, in light of the [usage statistics collected by V8](https://github.com/tc39/ecma262/issues/260#issuecomment-220823926) and the fact that implementers have had to allow this production."},"comment":{"url":"https://api.github.com/repos/tc39/ecma262/issues/comments/227269349","html_url":"https://github.com/tc39/ecma262/pull/614#issuecomment-227269349","issue_url":"https://api.github.com/repos/tc39/ecma262/issues/614","id":227269349,"user":{"login":"jugglinmike","id":677252,"avatar_url":"https://avatars.githubusercontent.com/u/677252?v=3","gravatar_id":"","url":"https://api.github.com/users/jugglinmike","html_url":"https://github.com/jugglinmike","followers_url":"https://api.github.com/users/jugglinmike/followers","following_url":"https://api.github.com/users/jugglinmike/following{/other_user}","gists_url":"https://api.github.com/users/jugglinmike/gists{/gist_id}","starred_url":"https://api.github.com/users/jugglinmike/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jugglinmike/subscriptions","organizations_url":"https://api.github.com/users/jugglinmike/orgs","repos_url":"https://api.github.com/users/jugglinmike/repos","events_url":"https://api.github.com/users/jugglinmike/events{/privacy}","received_events_url":"https://api.github.com/users/jugglinmike/received_events","type":"User","site_admin":false},"created_at":"2016-06-20T21:05:38Z","updated_at":"2016-06-20T21:05:38Z","body":"It may be sufficient to document the extension in a NOTE for [The for-in and for-of Statements](https://tc39.github.io/ecma262/#sec-for-in-and-for-of-statements). Personally, I think duplicating the note in relevant sections would be preferable, though.\r\n\r\nStill a third option would be to write all of this text in the main specification itself, and then introduce an early SyntaxError for it that could be disabled by Annex B. I think there is some precedent for disabled grammar like this; the ArrowParameters supports `yield` so that a SyntaxError can be unilaterally applied to its presence, strict mode or no.\r\n\r\nWhatever the case, my motivation is discoverability. I've been surprised by annex B extensions in the past, and I think an explicit reference from the \"mainline\" text is helpful in avoiding this (I'm proposing an unrelated one in gh-607). I'm sure @bterlson and @allenwb have a much clearer idea of how this ought to be executed."}}
{"actor":{"display_login":"jugglinmike"}}