From 9b82f9be9129c98bc02614d15abf957b35778745 Mon Sep 17 00:00:00 2001 From: "Alex Lam S.L" Date: Mon, 26 Jul 2021 09:44:34 +0100 Subject: fix corner case in `unused` (#5101) fixes #5100 --- test/compress/rests.js | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) (limited to 'test') diff --git a/test/compress/rests.js b/test/compress/rests.js index f6878aa8..45d8e222 100644 --- a/test/compress/rests.js +++ b/test/compress/rests.js @@ -1003,3 +1003,69 @@ issue_5089_2: { expect_stdout: "undefined" node_version: ">=8" } + +issue_5100_1: { + options = { + passes: 2, + pure_getters: "strict", + side_effects: true, + unused: true, + } + input: { + var a; + [ { + p: {}, + ...a + } ] = [ { + p: { + q: a, + } = 42, + r: "PASS", + } ]; + console.log(a.r); + } + expect: { + var a; + [ { + p: {}, + ...a + } ] = [ { + p: [ a = 42["q"] ], + r: "PASS", + } ]; + console.log(a.r); + } + expect_stdout: "PASS" + node_version: ">=8" +} + +issue_5100_2: { + options = { + passes: 2, + pure_getters: "strict", + side_effects: true, + unused: true, + } + input: { + var a; + [ { + p: {}, + ...a + } ] = [ { + p: (console.log("PASS"), { + q: a, + } = 42), + } ]; + } + expect: { + var a; + [ { + p: {}, + ...a + } ] = [ { + p: [ console.log("PASS"), a = 42["q"] ], + } ]; + } + expect_stdout: "PASS" + node_version: ">=10" +} -- cgit v1.2.3