Skip to content

fix(compiler): lower nested named functions as closures - #483

Merged
akonwi merged 1 commit into
mainfrom
fix/nested-named-function-closures
Sep 7, 2026
Merged

fix(compiler): lower nested named functions as closures#483
akonwi merged 1 commit into
mainfrom
fix/nested-named-function-closures

Conversation

@akonwi

@akonwi akonwi commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • lower nested named functions as lexical closure bindings
  • preserve one declaration identity across direct calls, references, captures, shadowing, and recursion
  • predeclare recursive closure slots and reject unsupported generic/static local signatures
  • add checker, AIR, Go, span, documentation, and downstream regression coverage

Validation

  • go test ./... -count=1
  • go test -race ./checker ./air ./go ./lsp ./lsp/analysis -count=1
  • go vet ./...
  • gopls check on changed Go files
  • LSP harness: 18/18
  • website build
  • downstreams: Tinear, Decode, SQL, Cooper

Fixes #480

@vercel

vercel Bot commented Sep 7, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated
ard-lang-dev Ready Ready Preview Sep 7, 2026 4:58pm UTC

@akonwi
akonwi merged commit 7057b76 into main Sep 7, 2026
6 checks passed
@akonwi
akonwi deleted the fix/nested-named-function-closures branch September 7, 2026 17:00
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.

Nested named function captures pass checking but fail AIR lowering

1 participant