// Copyright (C) 2016 the V8 project authors. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- esid: sec-ecmascript-function-objects-construct-argumentslist-newtarget description: > Error when derived constructor returns a non-undefined value (honoring the Realm of the current execution context) info: | [...] 13. If result.[[Type]] is return, then a. If Type(result.[[Value]]) is Object, return NormalCompletion(result.[[Value]]). b. If kind is "base", return NormalCompletion(thisArgument). c. If result.[[Value]] is not undefined, throw a TypeError exception. [...] features: [cross-realm, class] ---*/ var C = $262.createRealm().global.eval( '0, class extends Object {' + ' constructor() {' + ' return null;' + ' }' + '}' ); assert.throws(TypeError, function() { new C(); }); reportCompare(0, 0);