Tests that a redundant load of a captured variable that was proven to be a constant doesn't crash the compiler.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS "" + foo(o, i % 2) is "function () { return 32; },function () { return 32; }"
PASS "" + foo(o, i % 2) is "function () { return x; }"
PASS successfullyParsed is true

TEST COMPLETE

