Using Chad's answer, I found an error where my working code looks like this:
a = [b, b = a][0]; // swap variable values
Compiled for:
a = b;
It can be fixed in later versions because tests with the Closure online compiler do not show the same error. Fixed by not trying to be smart, and using a third variable to store the old value when replacing values.
source share