// Copyright 2021 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. let BigIntCtors = [BigInt64Array, BigUint64Array]; let NonBigIntCtors = [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array]; function assertThrowsCannotMixBigInt(cb) { assertThrows(cb, TypeError, /Cannot mix BigInt/); } for (let bigIntTA of BigIntCtors) { for (let nonBigIntTA of NonBigIntCtors) { assertThrowsCannotMixBigInt(() => { new bigIntTA(new nonBigIntTA(0)); }); assertThrowsCannotMixBigInt(() => { new bigIntTA(new nonBigIntTA(1)); }); assertThrowsCannotMixBigInt(() => { new nonBigIntTA(new bigIntTA(0)); }); assertThrowsCannotMixBigInt(() => { new nonBigIntTA(new bigIntTA(1)); }); } }