Split this out from the async-await work, since it makes sense in an ES2016 context as well.
One of these changes is actually a bugfix: currently class let {} is rejected by the parser, rather than the early error checker, which means that if you manually construct the following well-typed AST:
this will pass both the validator and the early error checker, which violates their collective contract.
(ditto for other strict-mode reserved words).
The change to parseArguments is unrelated, but necessary for other work (specifically async arrows), so I'd like it to at least run through CI. It shouldn't change anything.
Split this out from the async-await work, since it makes sense in an ES2016 context as well.
One of these changes is actually a bugfix: currently
class let {}
is rejected by the parser, rather than the early error checker, which means that if you manually construct the following well-typed AST:this will pass both the validator and the early error checker, which violates their collective contract.
(ditto for other strict-mode reserved words).
The change to
parseArguments
is unrelated, but necessary for other work (specifically async arrows), so I'd like it to at least run through CI. It shouldn't change anything.