&& !fn.uses_arguments
&& !fn.pinned()) {
var pos = 0, last = 0;
- var drop_fargs = exp === fn && compressor.drop_fargs(fn, self)
- && (!fn.name || !fn.name.definition().recursive_refs);
+ var drop_fargs = exp === fn && !fn.name && compressor.drop_fargs(fn, self);
var side_effects = [];
for (var i = 0; i < self.args.length; i++) {
var trim = i >= fn.argnames.length;
}
expect_stdout: "PASS"
}
+
+issue_3619: {
+ options = {
+ keep_fargs: false,
+ unused: true,
+ }
+ input: {
+ var a = 1, b = "FAIL";
+ (function f(c, d) {
+ function g() {
+ d && (b = "PASS", 0 <= --a && g());
+ 0 <= --a && f(0, "function");
+ }
+ g();
+ })();
+ console.log(b);
+ }
+ expect: {
+ var a = 1, b = "FAIL";
+ (function f(c, d) {
+ function g() {
+ d && (b = "PASS", 0 <= --a && g());
+ 0 <= --a && f(0, "function");
+ }
+ g();
+ })();
+ console.log(b);
+ }
+ expect_stdout: "PASS"
+}