Repository navigation
typescript: re-bless case 78 for the callback edges #1653 adds (#1657) - #1684
Merged
Merged
Conversation
swapnilpaliwal-sd
requested review from
JaredHLZhang,
Whua689 and
suyashpaliwal26
as code owners
September 28, 2026 17:26
Case 78 (callable collections, #1657) was blessed on 0.1.5, before the rule that a function handed to a bodiless library method gets a callback_registered edge from the site that hands it over (#1653, on 0.1.6 only). With both on 0.1.6 the case gains three such edges and loses none: registry.push(pushed) module init -> pushed steps.forEach((step) => step(node)) runForEach -> its arrow frozen.reduce((acc, step) => ...) runReduce -> its arrow Each is the shape #1653 labels on purpose, and the JavaScript engine labels the same way. Only the .edges golden moves; the oracle, envelope and entry goldens are unchanged.
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #1657
What was wrong
engine (typescript)fails on every PR into 0.1.6 with78-callable-collections FAIL (edges changed), 79 passed and 1 failed.Two TypeScript engine changes met on 0.1.6 without ever running together:
callback_registerededge from the site that hands it over) merged into 0.1.6 only, and its CI ran before typescript: a function held in an array or table is run by the call that iterates or indexes it (#967) #1657 was carried forward.With both present, case 78 gains three edges and loses none:
Each edge has the shape #1653 labels on purpose:
registry.push(pushed),steps.forEach((step) => ...)andfrozen.reduce((acc, step) => ...)each hand a function to a bodiless lib member. The JavaScript engine gives the same shapes the same tier. The existing edges in case 78 are unchanged, including theambiguous_unknownvalue-call rows and the controls:neverRunstill has no caller, because an array literal is not a call.The change
Re-blessed
expected/78-callable-collections.edgeswithrun-tests.sh 78-callable-collections --bless --oracle. The oracle, envelope, entries and fields goldens did not change.0.1.5 is not affected, because #1653 is not on it. The 0.1.5 release PR (#1667, run 36454504733) passes case 78 with 79 passed and 0 failed.
Locally, case 78 fails before this change with the exact diff from CI, and passes after it (1 passed, 0 failed).
Only the TypeScript suite was run; this is a golden-only change and was not measured on the corpus or on held-out projects.