microsoft / microsoft/TypeScript
super() typed as returning void
Open
Nobody has claimed this yet.
Awaiting More Feedback
Suggestion
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 132
Description
💻 Code
class Parent {}
class Child extends Parent {
constructor() {
super().func();
}
func() {
}
}
🙁 Actual behavior
super() in constructor return the object but TS assumes it returns void:
🙂 Expected behavior
super() should return the object.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the TypeScript example in the issue and inspect how the type checker handles super() in a derived constructor. Compare the inferred return type with JavaScript runtime behavior, then add or update coverage for super().func() so the completed change accepts the example without introducing incorrect constructor behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, typescript
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100