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