Per agenda item: https://github.com/rwldrn/tc39-notes/blob/master/es6/2013-07/july-25.md#56-can-letconstclassfunction-in-non-strict-code-bind-eval-and-arguments
Resolution: https://github.com/rwldrn/tc39-notes/blob/master/es6/2013-07/july-25.md#consensusresolution
General Rule
- Non-strict code operates in consistently non-strict manner (This covers the let/const/function* cases)
- Exception:
- Only allow duplicate parameter names in simple parameter lists
- Simple parameter lists are defined by those that do not include rest or defaults or destructuring.
Consensus:
The name of the ClassDeclaration/ClassExpression follows the strict rules for its name. So it cannot be named "eval" or "arguments". Just like for strict function names.
fixed in rev17 editor's draft
fixed in rev17, August 23, 2013 draft