// arrow functions are not implicitly strict-mode code | |
load(libdir + "asserts.js"); | |
var f = a => { with (a) return f(); }; | |
assertEq(f({f: () => 7}), 7); | |
f = a => function () { with (a) return f(); }; | |
assertEq(f({f: () => 7})(), 7); | |
f = (a = {x: 1, x: 2}) => b => { "use strict"; return a.x; }; | |
assertEq(f()(0), 2); | |