// assignments to watched properties via ++ must not be traced
var hits = 0;
function counter(id, oldval, newval) {
    hits++;
    return newval;
}

(function () {
    var obj = {x: 0, y: 0};
    var a = ['x', 'y'];
    obj.watch('z', counter);
    for (var i = 0; i < 14; i++) {
        obj.watch(a[+(i > 8)], counter);
        obj.y++;
    }
})();
assertEq(hits, 5);

