// Copyright 2017 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. function store(obj, name) { return obj[name] = 0; } function f(obj) { var key = { toString() { throw new Error("boom"); } }; store(obj, key); } (function() { var proxy = new Proxy({}, {}); store(proxy, 0) assertThrows(() => f(proxy), Error); })();