From 58dff9ada3adf21dbe7d8d205e76cfbd48b8619a Mon Sep 17 00:00:00 2001 From: "Alex Lam S.L" Date: Fri, 11 Dec 2020 20:45:35 +0000 Subject: [PATCH] fix corner cases in `unused` & `varify` (#4368) fixes #4365 --- lib/compress.js | 2 +- test/compress/const.js | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/lib/compress.js b/lib/compress.js index 27b080bb..cc601bfb 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -7284,7 +7284,7 @@ merge(Compressor.prototype, { }); function is_safe_lexical(def) { - return def.orig.length < (def.orig[0] instanceof AST_SymbolLambda ? 3 : 2); + return def.name != "arguments" && def.orig.length < (def.orig[0] instanceof AST_SymbolLambda ? 3 : 2); } function may_overlap(compressor, def) { diff --git a/test/compress/const.js b/test/compress/const.js index c269f8c0..4eea1977 100644 --- a/test/compress/const.js +++ b/test/compress/const.js @@ -1347,3 +1347,31 @@ issue_4305_2: { } expect_stdout: true } + +issue_4365_1: { + options = { + toplevel: true, + unused: true, + } + input: { + const arguments = 42; + } + expect: { + const arguments = 42; + } + expect_stdout: true +} + +issue_4365_2: { + options = { + toplevel: true, + varify: true, + } + input: { + const arguments = 42; + } + expect: { + const arguments = 42; + } + expect_stdout: true +} -- 2.34.1