diff --git a/lib/compress.js b/lib/compress.js index 115408d0..b28ac5e2 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -456,7 +456,7 @@ merge(Compressor.prototype, { } function can_drop_symbol(ref, compressor, keep_lambda) { - var def = ref.definition(); + var def = ref.redef || ref.definition(); if (ref.in_arg && is_funarg(def)) return false; return all(def.orig, function(sym) { if (sym instanceof AST_SymbolConst || sym instanceof AST_SymbolLet) { diff --git a/test/compress/default-values.js b/test/compress/default-values.js index 3a4d1640..a7c0ed27 100644 --- a/test/compress/default-values.js +++ b/test/compress/default-values.js @@ -1938,3 +1938,22 @@ issue_5138_2: { expect_stdout: "PASS" node_version: ">=6" } + +issue_5192: { + options = { + dead_code: true, + ie: true, + } + input: { + (function a(a, [] = a = "PASS") { + console.log(a); + })("FAIL"); + } + expect: { + (function a(a, [] = a = "PASS") { + console.log(a); + })("FAIL"); + } + expect_stdout: "PASS" + node_version: ">=6" +}