This closes #400 issue on GitHub.
njs_lexer_consume_token(parser->lexer, 1);
+ token = njs_lexer_token(parser->lexer, 0);
+ if (token == NULL) {
+ return NJS_ERROR;
+ }
+
+ if (!njs_lexer_token_is_binding_identifier(token)) {
+ return njs_parser_failed(parser);
+ }
+
lambda->rest_parameters = 1;
return NJS_OK;
{ njs_str("function f(a,...rest) { }; f.length"),
njs_str("1") },
+ { njs_str("function f(...) {}"),
+ njs_str("SyntaxError: Unexpected token \")\" in 1") },
+
+ { njs_str("(function (...) {})()"),
+ njs_str("SyntaxError: Unexpected token \")\" in 1") },
+
{ njs_str("function f(a,b) { }; var ff = f.bind(f, 1); ff.length"),
njs_str("1") },