// Control can exit a for-of loop via throw.
function f() {
for (var a of [1, 2, 3]) {
for (var b of [1, 2, 3]) {
for (var c of [1, 2, 3]) {
if (a !== b && b !== c && c !== a)
throw [a, b, c];
}
}
}
}
var x = null;
try {
f();
} catch (exc) {
x = exc.join("");
}
assertEq(x, "123");