diff --git a/gen/function_source.c b/gen/function_source.c index 494f560..c1beaaa 100644 Binary files a/gen/function_source.c and b/gen/function_source.c differ diff --git a/gen/hello.c b/gen/hello.c index 3225da4..a957441 100644 Binary files a/gen/hello.c and b/gen/hello.c differ diff --git a/gen/hello_module.c b/gen/hello_module.c index 7005c6f..45e6c37 100644 Binary files a/gen/hello_module.c and b/gen/hello_module.c differ diff --git a/gen/repl.c b/gen/repl.c index df1a3cd..39af7f9 100644 Binary files a/gen/repl.c and b/gen/repl.c differ diff --git a/gen/test_fib.c b/gen/test_fib.c index f3b0352..151bd4d 100644 Binary files a/gen/test_fib.c and b/gen/test_fib.c differ diff --git a/quickjs-atom.h b/quickjs-atom.h index 2174f1e..6e3c7a2 100644 --- a/quickjs-atom.h +++ b/quickjs-atom.h @@ -78,6 +78,8 @@ DEF(await, "await") /* empty string */ DEF(empty_string, "") /* identifiers */ +DEF(keys, "keys") +DEF(size, "size") DEF(length, "length") DEF(message, "message") DEF(cause, "cause") diff --git a/quickjs.c b/quickjs.c index 43453b4..22285d7 100644 --- a/quickjs.c +++ b/quickjs.c @@ -46166,6 +46166,107 @@ static int JS_WriteSet(BCWriterState *s, struct JSMapState *map_state) return js_map_write(s, map_state, MAGIC_SET); } +static int js_setlike_check(JSContext *ctx, JSValue setlike, int64_t *size) +{ + JSValue val; + double d; + BOOL ok; + + if (JS_GetOpaque(setlike, JS_CLASS_SET)) + return 0; + val = JS_GetProperty(ctx, setlike, JS_ATOM_size); + if (JS_IsException(val)) + return -1; + if (JS_IsUndefined(val)) { + JS_ThrowTypeError(ctx, ".size is undefined"); + return -1; + } + if (JS_ToFloat64Free(ctx, &d, val) < 0) + return -1; + if (isnan(d)) { + JS_ThrowTypeError(ctx, ".size is not a number"); + return -1; + } + val = JS_GetProperty(ctx, setlike, JS_ATOM_has); + if (JS_IsException(val)) + return -1; + if (JS_IsUndefined(val)) { + JS_ThrowTypeError(ctx, ".has is undefined"); + return -1; + } + ok = JS_IsFunction(ctx, val); + JS_FreeValue(ctx, val); + if (!ok) { + JS_ThrowTypeError(ctx, ".has is not a function"); + return -1; + } + *size = 0; + if (is_safe_integer(d)) + *size = d; + return 0; +} + +static JSValue js_set_union(JSContext *ctx, JSValue this_val, + int argc, JSValue *argv) +{ + JSValue newset, item, iter, next, rv; + struct list_head *el; + JSMapRecord *mr; + JSMapState *s; + int64_t size; + BOOL done; + + s = JS_GetOpaque2(ctx, this_val, JS_CLASS_SET); + if (!s) + return JS_EXCEPTION; + newset = js_map_constructor(ctx, JS_UNDEFINED, 0, NULL, MAGIC_SET); + if (JS_IsException(newset)) + return JS_EXCEPTION; + iter = JS_UNDEFINED; + next = JS_UNDEFINED; + // note: has JS-observable side effects + if (js_setlike_check(ctx, argv[0], &size) < 0) + goto exception; + list_for_each(el, &s->records) { + mr = list_entry(el, JSMapRecord, link); + if (mr->empty) + continue; + rv = js_map_set(ctx, newset, 1, &mr->key, MAGIC_SET); + if (JS_IsException(rv)) + goto exception; + JS_FreeValue(ctx, rv); + } + iter = JS_GetProperty(ctx, argv[0], JS_ATOM_keys); + if (JS_IsException(iter)) + goto exception; + iter = JS_CallFree(ctx, iter, argv[0], 0, NULL); + if (JS_IsException(iter)) + goto exception; + next = JS_GetProperty(ctx, iter, JS_ATOM_next); + if (JS_IsException(next)) + goto exception; + for (;;) { + item = JS_IteratorNext(ctx, iter, next, 0, NULL, &done); + if (JS_IsException(item)) + goto exception; + if (done) // item is JS_UNDEFINED + break; + rv = js_map_set(ctx, newset, 1, &item, MAGIC_SET); + JS_FreeValue(ctx, item); + if (JS_IsException(rv)) + goto exception; + JS_FreeValue(ctx, rv); + } + JS_FreeValue(ctx, next); + JS_FreeValue(ctx, iter); + return newset; +exception: + JS_FreeValue(ctx, next); + JS_FreeValue(ctx, iter); + JS_FreeValue(ctx, newset); + return JS_EXCEPTION; +} + static const JSCFunctionListEntry js_map_funcs[] = { JS_CFUNC_DEF("groupBy", 2, js_map_groupBy ), JS_CGETSET_DEF("[Symbol.species]", js_get_this, NULL ), @@ -46198,6 +46299,7 @@ static const JSCFunctionListEntry js_set_proto_funcs[] = { JS_CFUNC_MAGIC_DEF("clear", 0, js_map_clear, MAGIC_SET ), JS_CGETSET_MAGIC_DEF("size", js_map_get_size, NULL, MAGIC_SET ), JS_CFUNC_MAGIC_DEF("forEach", 1, js_map_forEach, MAGIC_SET ), + JS_CFUNC_DEF("union", 1, js_set_union ), JS_CFUNC_MAGIC_DEF("values", 0, js_create_map_iterator, (JS_ITERATOR_KIND_KEY << 2) | MAGIC_SET ), JS_ALIAS_DEF("keys", "values" ), JS_ALIAS_DEF("[Symbol.iterator]", "values" ), diff --git a/test262.conf b/test262.conf index 8da70c7..72dbf3e 100644 --- a/test262.conf +++ b/test262.conf @@ -182,7 +182,7 @@ RegExp.escape=skip resizable-arraybuffer=skip rest-parameters Set -set-methods=skip +set-methods ShadowRealm=skip SharedArrayBuffer source-phase-imports-module-source=skip diff --git a/test262_errors.txt b/test262_errors.txt index 8dceec4..e5a3699 100644 --- a/test262_errors.txt +++ b/test262_errors.txt @@ -72,6 +72,256 @@ test262/test/built-ins/RegExp/property-escapes/generated/XID_Start.js:16: Test26 test262/test/built-ins/RegExp/property-escapes/generated/XID_Start.js:16: strict mode: Test262Error: `\p{XID_Start}` should match U+02EBF0 (`𮯰`) test262/test/built-ins/RegExp/unicode_full_case_folding.js:20: Test262Error: \u0390 does not match \u1fd3 test262/test/built-ins/RegExp/unicode_full_case_folding.js:20: strict mode: Test262Error: \u0390 does not match \u1fd3 +test262/test/built-ins/Set/prototype/difference/add-not-called.js:21: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/add-not-called.js:21: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/allows-set-like-class.js:32: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/allows-set-like-class.js:32: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/allows-set-like-object.js:30: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/allows-set-like-object.js:30: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/builtins.js:9: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true +test262/test/built-ins/Set/prototype/difference/builtins.js:9: strict mode: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true +test262/test/built-ins/Set/prototype/difference/combines-Map.js:16: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/combines-Map.js:16: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/combines-empty-sets.js:13: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/combines-empty-sets.js:13: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/combines-itself.js:12: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/combines-itself.js:12: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/combines-same-sets.js:13: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/combines-same-sets.js:13: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/combines-sets.js:13: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/combines-sets.js:13: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/converts-negative-zero.js:25: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/converts-negative-zero.js:25: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/difference.js:10: Test262Error: `typeof Set.prototype.difference` is `'function'` Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/difference/difference.js:10: strict mode: Test262Error: `typeof Set.prototype.difference` is `'function'` Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/difference/length.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/difference/length.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/difference/name.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/difference/name.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/difference/not-a-constructor.js:17: Test262Error: isConstructor invoked with a non-function value +test262/test/built-ins/Set/prototype/difference/not-a-constructor.js:17: strict mode: Test262Error: isConstructor invoked with a non-function value +test262/test/built-ins/Set/prototype/difference/require-internal-slot.js:17: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/difference/require-internal-slot.js:17: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/difference/result-order.js:14: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/result-order.js:14: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/set-like-array.js:23: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/set-like-array.js:23: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/set-like-class-mutation.js:44: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/set-like-class-mutation.js:44: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/set-like-class-order.js:67: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/set-like-class-order.js:67: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/size-is-a-number.js:24: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true +test262/test/built-ins/Set/prototype/difference/size-is-a-number.js:24: strict mode: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true +test262/test/built-ins/Set/prototype/difference/subclass-receiver-methods.js:34: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/subclass-receiver-methods.js:34: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/subclass-symbol-species.js:20: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/subclass-symbol-species.js:20: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/subclass.js:15: TypeError: not a function +test262/test/built-ins/Set/prototype/difference/subclass.js:15: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/add-not-called.js:21: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/add-not-called.js:21: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/allows-set-like-class.js:32: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/allows-set-like-class.js:32: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/allows-set-like-object.js:30: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/allows-set-like-object.js:30: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/builtins.js:9: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true +test262/test/built-ins/Set/prototype/intersection/builtins.js:9: strict mode: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true +test262/test/built-ins/Set/prototype/intersection/combines-Map.js:16: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/combines-Map.js:16: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/combines-empty-sets.js:13: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/combines-empty-sets.js:13: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/combines-itself.js:12: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/combines-itself.js:12: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/combines-same-sets.js:13: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/combines-same-sets.js:13: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/combines-sets.js:13: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/combines-sets.js:13: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/converts-negative-zero.js:25: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/converts-negative-zero.js:25: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/intersection.js:10: Test262Error: `typeof Set.prototype.intersection` is `'function'` Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/intersection/intersection.js:10: strict mode: Test262Error: `typeof Set.prototype.intersection` is `'function'` Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/intersection/length.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/intersection/length.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/intersection/name.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/intersection/name.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/intersection/not-a-constructor.js:17: Test262Error: isConstructor invoked with a non-function value +test262/test/built-ins/Set/prototype/intersection/not-a-constructor.js:17: strict mode: Test262Error: isConstructor invoked with a non-function value +test262/test/built-ins/Set/prototype/intersection/require-internal-slot.js:17: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/intersection/require-internal-slot.js:17: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/intersection/result-order.js:15: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/result-order.js:15: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/set-like-array.js:23: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/set-like-array.js:23: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/set-like-class-mutation.js:44: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/set-like-class-mutation.js:44: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/set-like-class-order.js:67: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/set-like-class-order.js:67: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/size-is-a-number.js:24: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true +test262/test/built-ins/Set/prototype/intersection/size-is-a-number.js:24: strict mode: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true +test262/test/built-ins/Set/prototype/intersection/subclass-receiver-methods.js:34: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/subclass-receiver-methods.js:34: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/subclass-symbol-species.js:20: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/subclass-symbol-species.js:20: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/subclass.js:15: TypeError: not a function +test262/test/built-ins/Set/prototype/intersection/subclass.js:15: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/allows-set-like-class.js:30: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/allows-set-like-class.js:30: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/allows-set-like-object.js:28: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/allows-set-like-object.js:28: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/builtins.js:9: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true +test262/test/built-ins/Set/prototype/isDisjointFrom/builtins.js:9: strict mode: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true +test262/test/built-ins/Set/prototype/isDisjointFrom/compares-Map.js:15: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/compares-Map.js:15: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/compares-empty-sets.js:12: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/compares-empty-sets.js:12: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/compares-itself.js:11: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/compares-itself.js:11: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/compares-same-sets.js:12: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/compares-same-sets.js:12: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/compares-sets.js:12: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/compares-sets.js:12: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/converts-negative-zero.js:22: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/converts-negative-zero.js:22: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/isDisjointFrom.js:10: Test262Error: `typeof Set.prototype.isDisjointFrom` is `'function'` Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isDisjointFrom/isDisjointFrom.js:10: strict mode: Test262Error: `typeof Set.prototype.isDisjointFrom` is `'function'` Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isDisjointFrom/length.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isDisjointFrom/length.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isDisjointFrom/name.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isDisjointFrom/name.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isDisjointFrom/not-a-constructor.js:17: Test262Error: isConstructor invoked with a non-function value +test262/test/built-ins/Set/prototype/isDisjointFrom/not-a-constructor.js:17: strict mode: Test262Error: isConstructor invoked with a non-function value +test262/test/built-ins/Set/prototype/isDisjointFrom/require-internal-slot.js:17: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isDisjointFrom/require-internal-slot.js:17: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isDisjointFrom/set-like-array.js:20: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/set-like-array.js:20: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/set-like-class-mutation.js:34: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/set-like-class-mutation.js:34: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/set-like-class-order.js:67: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/set-like-class-order.js:67: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/size-is-a-number.js:24: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true +test262/test/built-ins/Set/prototype/isDisjointFrom/size-is-a-number.js:24: strict mode: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true +test262/test/built-ins/Set/prototype/isDisjointFrom/subclass-receiver-methods.js:32: TypeError: not a function +test262/test/built-ins/Set/prototype/isDisjointFrom/subclass-receiver-methods.js:32: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/allows-set-like-class.js:31: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/allows-set-like-class.js:31: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/allows-set-like-object.js:29: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/allows-set-like-object.js:29: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/builtins.js:9: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true +test262/test/built-ins/Set/prototype/isSubsetOf/builtins.js:9: strict mode: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true +test262/test/built-ins/Set/prototype/isSubsetOf/compares-Map.js:15: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/compares-Map.js:15: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/compares-empty-sets.js:12: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/compares-empty-sets.js:12: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/compares-itself.js:11: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/compares-itself.js:11: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/compares-same-sets.js:12: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/compares-same-sets.js:12: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/compares-sets.js:12: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/compares-sets.js:12: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/isSubsetOf.js:10: Test262Error: `typeof Set.prototype.isSubsetOf` is `'function'` Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isSubsetOf/isSubsetOf.js:10: strict mode: Test262Error: `typeof Set.prototype.isSubsetOf` is `'function'` Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isSubsetOf/length.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isSubsetOf/length.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isSubsetOf/name.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isSubsetOf/name.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isSubsetOf/not-a-constructor.js:17: Test262Error: isConstructor invoked with a non-function value +test262/test/built-ins/Set/prototype/isSubsetOf/not-a-constructor.js:17: strict mode: Test262Error: isConstructor invoked with a non-function value +test262/test/built-ins/Set/prototype/isSubsetOf/require-internal-slot.js:17: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isSubsetOf/require-internal-slot.js:17: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isSubsetOf/set-like-array.js:21: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/set-like-array.js:21: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/set-like-class-mutation.js:25: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/set-like-class-mutation.js:25: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/set-like-class-order.js:43: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/set-like-class-order.js:43: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/size-is-a-number.js:24: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true +test262/test/built-ins/Set/prototype/isSubsetOf/size-is-a-number.js:24: strict mode: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true +test262/test/built-ins/Set/prototype/isSubsetOf/subclass-receiver-methods.js:32: TypeError: not a function +test262/test/built-ins/Set/prototype/isSubsetOf/subclass-receiver-methods.js:32: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/allows-set-like-class.js:29: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/allows-set-like-class.js:29: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/allows-set-like-object.js:27: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/allows-set-like-object.js:27: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/builtins.js:9: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true +test262/test/built-ins/Set/prototype/isSupersetOf/builtins.js:9: strict mode: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true +test262/test/built-ins/Set/prototype/isSupersetOf/compares-Map.js:15: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/compares-Map.js:15: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/compares-empty-sets.js:12: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/compares-empty-sets.js:12: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/compares-itself.js:11: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/compares-itself.js:11: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/compares-same-sets.js:12: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/compares-same-sets.js:12: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/compares-sets.js:12: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/compares-sets.js:12: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/converts-negative-zero.js:22: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/converts-negative-zero.js:22: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/isSupersetOf.js:10: Test262Error: `typeof Set.prototype.isSupersetOf` is `'function'` Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isSupersetOf/isSupersetOf.js:10: strict mode: Test262Error: `typeof Set.prototype.isSupersetOf` is `'function'` Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isSupersetOf/length.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isSupersetOf/length.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isSupersetOf/name.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isSupersetOf/name.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isSupersetOf/not-a-constructor.js:17: Test262Error: isConstructor invoked with a non-function value +test262/test/built-ins/Set/prototype/isSupersetOf/not-a-constructor.js:17: strict mode: Test262Error: isConstructor invoked with a non-function value +test262/test/built-ins/Set/prototype/isSupersetOf/require-internal-slot.js:17: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isSupersetOf/require-internal-slot.js:17: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/isSupersetOf/set-like-array.js:21: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/set-like-array.js:21: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/set-like-class-mutation.js:26: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/set-like-class-mutation.js:26: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/set-like-class-order.js:66: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/set-like-class-order.js:66: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/size-is-a-number.js:24: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true +test262/test/built-ins/Set/prototype/isSupersetOf/size-is-a-number.js:24: strict mode: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true +test262/test/built-ins/Set/prototype/isSupersetOf/subclass-receiver-methods.js:32: TypeError: not a function +test262/test/built-ins/Set/prototype/isSupersetOf/subclass-receiver-methods.js:32: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/add-not-called.js:21: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/add-not-called.js:21: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/allows-set-like-class.js:31: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/allows-set-like-class.js:31: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/allows-set-like-object.js:29: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/allows-set-like-object.js:29: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/builtins.js:9: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true +test262/test/built-ins/Set/prototype/symmetricDifference/builtins.js:9: strict mode: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true +test262/test/built-ins/Set/prototype/symmetricDifference/combines-Map.js:16: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/combines-Map.js:16: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/combines-empty-sets.js:13: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/combines-empty-sets.js:13: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/combines-itself.js:12: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/combines-itself.js:12: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/combines-same-sets.js:13: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/combines-same-sets.js:13: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/combines-sets.js:13: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/combines-sets.js:13: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/converts-negative-zero.js:25: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/converts-negative-zero.js:25: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/length.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/symmetricDifference/length.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/symmetricDifference/name.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/symmetricDifference/name.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/symmetricDifference/not-a-constructor.js:17: Test262Error: isConstructor invoked with a non-function value +test262/test/built-ins/Set/prototype/symmetricDifference/not-a-constructor.js:17: strict mode: Test262Error: isConstructor invoked with a non-function value +test262/test/built-ins/Set/prototype/symmetricDifference/require-internal-slot.js:17: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/symmetricDifference/require-internal-slot.js:17: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/symmetricDifference/result-order.js:15: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/result-order.js:15: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/set-like-array.js:21: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/set-like-array.js:21: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/set-like-class-mutation.js:44: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/set-like-class-mutation.js:44: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/set-like-class-order.js:66: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/set-like-class-order.js:66: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/size-is-a-number.js:24: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true +test262/test/built-ins/Set/prototype/symmetricDifference/size-is-a-number.js:24: strict mode: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true +test262/test/built-ins/Set/prototype/symmetricDifference/subclass-receiver-methods.js:34: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/subclass-receiver-methods.js:34: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/subclass-symbol-species.js:20: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/subclass-symbol-species.js:20: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/subclass.js:15: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/subclass.js:15: strict mode: TypeError: not a function +test262/test/built-ins/Set/prototype/symmetricDifference/symmetricDifference.js:10: Test262Error: `typeof Set.prototype.symmetricDifference` is `'function'` Expected SameValue(«undefined», «function») to be true +test262/test/built-ins/Set/prototype/symmetricDifference/symmetricDifference.js:10: strict mode: Test262Error: `typeof Set.prototype.symmetricDifference` is `'function'` Expected SameValue(«undefined», «function») to be true test262/test/built-ins/TypedArrayConstructors/internals/Set/BigInt/key-is-canonical-invalid-index-prototype-chain-set.js:35: Test262Error: value should not be coerced Expected SameValue(«22», «0») to be true test262/test/built-ins/TypedArrayConstructors/internals/Set/BigInt/key-is-canonical-invalid-index-prototype-chain-set.js:35: strict mode: Test262Error: value should not be coerced Expected SameValue(«22», «0») to be true test262/test/built-ins/TypedArrayConstructors/internals/Set/BigInt/key-is-canonical-invalid-index-reflect-set.js:35: Test262Error: value should not be coerced Expected SameValue(«32», «0») to be true @@ -99,4 +349,16 @@ test262/test/language/expressions/member-expression/computed-reference-null-or-u test262/test/language/expressions/optional-chaining/optional-call-preserves-this.js:21: TypeError: cannot read property 'c' of undefined test262/test/language/expressions/optional-chaining/optional-call-preserves-this.js:16: strict mode: TypeError: cannot read property '_b' of undefined test262/test/language/module-code/top-level-await/async-module-does-not-block-sibling-modules.js:13: SyntaxError: Could not find export 'check' in module 'test262/test/language/module-code/top-level-await/async-module-sync_FIXTURE.js' +test262/test/staging/set-is-subset-on-set-like.js:24: TypeError: not a function +test262/test/staging/set-is-subset-on-set-like.js:24: strict mode: TypeError: not a function +test262/test/staging/set-is-subset-table-receiver-cleared.js:25: TypeError: not a function +test262/test/staging/set-is-subset-table-receiver-cleared.js:25: strict mode: TypeError: not a function +test262/test/staging/set-is-subset-table-transition.js:28: TypeError: not a function +test262/test/staging/set-is-subset-table-transition.js:28: strict mode: TypeError: not a function +test262/test/staging/set-methods/set-intersect-other-is-set-like.js:29: TypeError: not a function +test262/test/staging/set-methods/set-intersect-other-is-set-like.js:29: strict mode: TypeError: not a function +test262/test/staging/set-methods/set-intersection-other-is-map.js:22: TypeError: not a function +test262/test/staging/set-methods/set-intersection-other-is-map.js:22: strict mode: TypeError: not a function +test262/test/staging/set-methods/set-intersection-other-is-set.js:22: TypeError: not a function +test262/test/staging/set-methods/set-intersection-other-is-set.js:22: strict mode: TypeError: not a function test262/test/staging/top-level-await/tla-hang-entry.js:10: TypeError: $DONE() not called