// 'this' is lexically scoped in direct eval code in arrow functions

var obj = {
    f: function (s) {
        return a => eval(s);
    }
};

var g = obj.f("this");
assertEq(g(), obj);

var obj2 = {g: g, fail: true};
assertEq(obj2.g(), obj);