fix corner cases in arrow functions & rests (#4667)

fixes #4666
This commit is contained in:
Alex Lam S.L
2021-02-19 00:26:57 +00:00
committed by GitHub
parent 10de27ca3d
commit 5f60c1b830
4 changed files with 41 additions and 3 deletions

View File

@@ -762,10 +762,11 @@ merge(Compressor.prototype, {
return arg || make_node(AST_Undefined, iife);
}, visit);
});
if (fn.rest) scan_declaration(tw, compressor, fn.rest, compressor.option("rests") && function() {
return make_node(AST_Array, fn, {
var rest = fn.rest;
if (rest) scan_declaration(tw, compressor, rest, compressor.option("rests") && function() {
return fn.rest === rest ? make_node(AST_Array, fn, {
elements: iife.args.slice(fn.argnames.length),
});
}) : rest;
}, visit);
walk_lambda(fn, tw);
var safe_ids = tw.safe_ids;