diff options
-rw-r--r-- | lib/compress.js | 1 | ||||
-rw-r--r-- | test/compress/spread.js | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/lib/compress.js b/lib/compress.js index 82474b5c..e84465f6 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -2047,6 +2047,7 @@ merge(Compressor.prototype, { return (parent.tail_node() === node ? find_stop_value : find_stop_unused)(parent, level + 1); } if (parent instanceof AST_SimpleStatement) return find_stop_unused(parent, level + 1); + if (parent instanceof AST_Spread) return find_stop_value(parent, level + 1); if (parent instanceof AST_Switch) { if (parent.expression !== node) return node; return find_stop_value(parent, level + 1); diff --git a/test/compress/spread.js b/test/compress/spread.js index 01818dc3..21ccbe6d 100644 --- a/test/compress/spread.js +++ b/test/compress/spread.js @@ -399,3 +399,29 @@ issue_4329: { expect_stdout: "PASS" node_version: ">=8" } + +issue_4331: { + options = { + collapse_vars: true, + toplevel: true, + } + input: { + var a = "PASS", b; + console, + b = a; + (function() { + a++; + })(...a); + console.log(b); + } + expect: { + var a = "PASS", b; + console; + (function() { + a++; + })(...b = a); + console.log(b); + } + expect_stdout: "PASS" + node_version: ">=8" +} |