facebookarchive / prepack

A JavaScript bundle optimizer.
http://prepack.io
Other
14.22k stars 425 forks source link

Serialization invariant when dealing with a conditional binding #2599

Closed trueadm closed 5 years ago

trueadm commented 5 years ago

Given this test case we run into an invariant:

function fn2() {
  var x = function() {};

  return function() { return x };
}

function fn(x) {
  var arr = Array.from(x);
  return arr.map(function () {
    if (x) {
      return fn2();
    } else {
      return null;
    }
  });
}

__optimize(fn);