// Copyright 2014 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. "use strict"; function MyError() {} var obj = {}; obj[Symbol.isConcatSpreadable] = true; Object.defineProperty(obj, "length", { get: function() { throw new MyError(); } }); assertThrows(function() { [].concat(obj); }, MyError); assertThrows(function() { Array.prototype.concat.call(obj, 1, 2, 3); }, MyError);