Skip to content

Read the class base after the callable-base case in super calls - #1281

Merged
ctate merged 1 commit into
mainfrom
ctate/read-class-base-cb49a1
Oct 18, 2026
Merged

ctate merged 1 commit into
mainfrom
ctate/read-class-base-cb49a1

Conversation

@ctate

@ctate ctate commented Oct 18, 2026

Copy link
Copy Markdown
Collaborator
  • superCallStmt asserted the class base before the callable-base case. The value is null for classes that extend function constructors, and the native compiler threw at the assertion, refusing such programs (the Effect stream fixtures).
  • Adds corpus 6020, runs it through the native-frontend self-host check, and pins the assertion's current behavior in dyncheck.test.ts and the docs.

superCallStmt asserted the class base before checking for a callable
base. A class that extends an ordinary function constructor has no base
class info, so the assertion held null. Node ignores the unused value;
the native compiler throws the TypeError of a non-null assertion that
held null, and failed to compile programs with such classes (for example
the Effect stream fixtures). The base is now read after that case
returns.
@vercel

vercel Bot commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
scriptc Ready Ready Preview, v0 Oct 18, 2026 12:54pm UTC

@ctate
ctate merged commit aba3c3a into main Oct 18, 2026
66 checks passed
@ctate
ctate deleted the ctate/read-class-base-cb49a1 branch October 18, 2026 13:14

This branch was successfully deployed

1 active deployment
Preview — 201857eb Deployed Oct 18, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant