Skip to content

Conversation

@nicolo-ribaudo
Copy link
Member

This PR implements the normative change that reached consensus in July 2025 (slides, notes)

This is what the exact consensus request was, that this PR matches:
image

@nicolo-ribaudo nicolo-ribaudo added normative change Affects behavior required to correctly evaluate some ECMAScript source text needs test262 tests The proposal should specify how to test an implementation. Ideally via github.com/tc39/test262 has consensus This has committee consensus. labels Oct 1, 2025
@github-actions
Copy link

github-actions bot commented Oct 1, 2025

The rendered spec for this PR is available at https://tc39.es/ecma262/pr/3695.

lando-prod-mozilla bot pushed a commit to mozilla-firefox/firefox that referenced this pull request Oct 3, 2025
…der r=jonco

This patch inverts the order in which we reject promises in
AsyncModuleExecutionRejected to match AsyncModuleExecutionFulfilled:
first the promise corresponding to the leaf module (the one that throws)
is rejected, and then its ancestors.

This change was discussed at the July 2025 TC39 meeting.

Spec PR: tc39/ecma262#3695
test262: tc39/test262#4591

Differential Revision: https://phabricator.services.mozilla.com/D267210
@nicolo-ribaudo nicolo-ribaudo added has test262 tests and removed needs test262 tests The proposal should specify how to test an implementation. Ideally via github.com/tc39/test262 labels Oct 6, 2025
i3roly pushed a commit to i3roly/firefox-dynasty that referenced this pull request Oct 7, 2025
…der r=jonco

This patch inverts the order in which we reject promises in
AsyncModuleExecutionRejected to match AsyncModuleExecutionFulfilled:
first the promise corresponding to the leaf module (the one that throws)
is rejected, and then its ancestors.

This change was discussed at the July 2025 TC39 meeting.

Spec PR: tc39/ecma262#3695
test262: tc39/test262#4591

Differential Revision: https://phabricator.services.mozilla.com/D267210
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this pull request Oct 8, 2025
…der r=jonco

This patch inverts the order in which we reject promises in
AsyncModuleExecutionRejected to match AsyncModuleExecutionFulfilled:
first the promise corresponding to the leaf module (the one that throws)
is rejected, and then its ancestors.

This change was discussed at the July 2025 TC39 meeting.

Spec PR: tc39/ecma262#3695
test262: tc39/test262#4591

Differential Revision: https://phabricator.services.mozilla.com/D267210

UltraBlame original commit: a3cf4d1eef17209c4c4194e07f38fe870c417781
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this pull request Oct 8, 2025
…der r=jonco

This patch inverts the order in which we reject promises in
AsyncModuleExecutionRejected to match AsyncModuleExecutionFulfilled:
first the promise corresponding to the leaf module (the one that throws)
is rejected, and then its ancestors.

This change was discussed at the July 2025 TC39 meeting.

Spec PR: tc39/ecma262#3695
test262: tc39/test262#4591

Differential Revision: https://phabricator.services.mozilla.com/D267210

UltraBlame original commit: a3cf4d1eef17209c4c4194e07f38fe870c417781
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this pull request Oct 8, 2025
…der r=jonco

This patch inverts the order in which we reject promises in
AsyncModuleExecutionRejected to match AsyncModuleExecutionFulfilled:
first the promise corresponding to the leaf module (the one that throws)
is rejected, and then its ancestors.

This change was discussed at the July 2025 TC39 meeting.

Spec PR: tc39/ecma262#3695
test262: tc39/test262#4591

Differential Revision: https://phabricator.services.mozilla.com/D267210

UltraBlame original commit: a3cf4d1eef17209c4c4194e07f38fe870c417781
Jack-Works added a commit to engine262/engine262 that referenced this pull request Nov 17, 2025
caiolima added a commit to caiolima/v8 that referenced this pull request Nov 18, 2025
…t order

This implements the spec change from [1]. This PR changes the order of
rejections to match the same order that happens on fufillment. For
detailed dicussions and reasing, check[1]. Test262 were added to match
the spec as well in [2].

[1] Spec PR: tc39/ecma262#3695
[2] Test262 PR: tc39/test262#4591
caiolima added a commit to caiolima/v8 that referenced this pull request Nov 20, 2025
…t order

This implements the spec change from [1]. This PR changes the order of
rejections to match the same order that happens on fufillment case.
First the rejection goes to the leaf module and then it bubbles up
to its acenstros.
For detailed dicussions and reasoning, check[1].

[1] Spec PR: tc39/ecma262#3695
[2] Test262 PR: tc39/test262#4591
@nicolo-ribaudo
Copy link
Member Author

nicolo-ribaudo commented Nov 26, 2025

Implementation status:

hubot pushed a commit to v8/v8 that referenced this pull request Nov 28, 2025
This implements the spec change from [1]. This PR changes the order of
rejections to match the same order that happens on fufillment case.
It meansd that First the rejection goes to module where it happens and
then it bubbles up to its acenstros.
For detailed discussion and reasoning, check links in the PR[1].

[1] Spec PR: tc39/ecma262#3695
[2] Test262 PR: tc39/test262#4591

Bug: 433891576
Change-Id: I3b16e276ad0d6bd0c5a17f20f8db06d56b483883
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7169324
Reviewed-by: Leszek Swirski <[email protected]>
Commit-Queue: Andy Wingo <[email protected]>
Reviewed-by: Olivier Flückiger <[email protected]>
Cr-Commit-Position: refs/heads/main@{#104017}
@bakkot bakkot added the ready to merge Editors believe this PR needs no further reviews, and is ready to land. label Dec 8, 2025
@ljharb ljharb changed the title Align async modules rejection order with fulfillment order Normative: Align async modules rejection order with fulfillment order Dec 10, 2025
@ljharb ljharb force-pushed the async-mod-eval-prom-settl-ord branch from 4762595 to 4752038 Compare December 10, 2025 05:46
@ljharb ljharb merged commit 4752038 into tc39:main Dec 10, 2025
8 checks passed
@nicolo-ribaudo nicolo-ribaudo deleted the async-mod-eval-prom-settl-ord branch December 10, 2025 09:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

has consensus This has committee consensus. has test262 tests normative change Affects behavior required to correctly evaluate some ECMAScript source text ready to merge Editors believe this PR needs no further reviews, and is ready to land.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants