Skip to content

feat(compiler): support unknown-typed class fields - #50

Open
patlux wants to merge 2 commits into
vercel-labs:mainfrom
patlux:feat/unknown-class-fields
Open

feat(compiler): support unknown-typed class fields#50
patlux wants to merge 2 commits into
vercel-labs:mainfrom
patlux:feat/unknown-class-fields

Conversation

@patlux

@patlux patlux commented Jul 29, 2026

Copy link
Copy Markdown

Support class fields and parameter properties whose TypeScript type is unknown.

class Base {
  inherited: unknown;
}

class Holder extends Base {
  value: unknown;
  static current: unknown = "ready";

  constructor(public input: unknown) {
    super();
  }
}
  • Store unknown fields through checked-dynamic storage.
  • Initialize fresh and inherited instance slots to the immortal dynamic undefined value in both backends.
  • Cover uninitialized, initialized, inherited, assigned, initialized-static, and parameter-property cases.
  • Remove the obsolete diagnostic; initializer-less static fields remain outside the supported static-field surface.

Focused local Plain and sanitized C/LLVM tests, diagnostics, lint, workspace build, and git diff --check pass. The full GitHub Actions matrix is pending maintainer approval for this fork PR.

@vercel

vercel Bot commented Jul 29, 2026

Copy link
Copy Markdown

@patlux is attempting to deploy a commit to the Vercel Labs Team on Vercel.

A member of the Team first needs to authorize it.

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