Kevin Gibbons

Results 164 issues of Kevin Gibbons

Consider the following horrible program: ```js 'use strict'; var console = console || { log: print }; let inner = { [Symbol.asyncIterator]: () => ({ next() { return Promise.resolve({ done:...

needs consensus

Fixes https://github.com/tc39/ecma262/issues/2412 by trapping the exception and using it to reject the promise returned by the call to `AsyncGenerator.prototype.return`. ## Background 1: broken promises You can make a promise which...

normative change
has consensus
has test262 tests

This is an alternative to #2818. See that PR for more context - this implements option 3 of the options listed there. Fixes https://github.com/tc39/ecma262/issues/2813. The main effect of this PR...

normative change
has consensus
has tests
needs implementations

As of #2547 (edit: plus #2744 and #2842), it is always statically knowable whether a given expression at a given point is a Completion Record or not a Completion Record....

This allows you to have a regex like ```js /(?[0-9]{4})-[0-9]{2}|[0-9]{2}-(?[0-9]{4})/ ``` where a capturing group name is re-used across alternatives. It continues to be illegal to re-use a name within...

normative change
has test262 tests
proposal
has stage 4

The editors should write down editorial conventions for the benefit of contributors and future editors, perhaps in [tc39/how-we-work](https://github.com/tc39/how-we-work). I've tried to automatically [enforce](https://github.com/tc39/ecmarkup/issues/173) some of them in ecmarkup. But there's...

establishes editorial conventions

E.g. in [Built-in Function Objects](https://tc39.es/ecma262/multipage/ordinary-and-exotic-objects-behaviours.html#sec-built-in-function-objects) we say > If a built-in function object is not implemented as an ECMAScript function it must provide [[Call]] and [[Construct]] internal methods that conform...

https://github.com/tc39/ecma262/pull/2267 changed the sequencing of the `RequireObjectCoercible`-on-base / `ToString`-on-property for member assignments, like `a[b] = c`. As I read the spec, it also changed the semantics for `null[{ toString: ()...

has test262 tests

[`IfAbruptRejectPromise`](https://tc39.es/ecma262/multipage/control-abstraction-objects.html#sec-ifabruptrejectpromise) is used like a macro, but it returns from _the caller_ in one of its branches. (`IfAbruptCloseIterator` in https://github.com/tc39/ecma262/pull/2113 will have the same problem.) That's confusing for readers. We...