Microsoft/TypeScript

tsc with allowJs reports TS9005 error for nested anonymous constructor functions

Open

#57,523 opened on Feb 24, 2024

View on GitHub
 (6 comments) (0 reactions) (0 assignees)TypeScript (6,726 forks)batch import
Domain: Declaration EmitHelp WantedPossible Improvement

Repository metrics

Stars
 (48,455 stars)
PR merge metrics
 (Avg merge 6d 17h) (9 merged PRs in 30d)

Description

🔎 Search Terms

TS9005: Declaration emit for this file requires using private name '(Anonymous function)'. An explicit type annotation may unblock declaration emit.

🕗 Version & Regression Information

  • Occurs on versions 3.7.5 - nightly
  • Related to PR #55472

Related to #55172 When 2 separate nested this bindings are used within constructor functions, the following error's returned always at the top of the file (this was really annoying to debug 😅)

Declaration emit for this file requires using private name '(Anonymous function)'. An explicit type annotation may unblock declaration emit.

⏯ Playground Link

https://tsplay.dev/NV57Gw

💻 Code

const a = new function () {
	this.b = new function () {
		this.c = 1
	}
}

🙁 Actual behavior

Complains

🙂 Expected behavior

Shouldn't complain

Additional information about the issue

No response

Contributor guide