microsoft / microsoft/TypeScript
Global 'this' capture logic is slightly wrong in `--noImplicitThis`
Open
@DanielRosenwasser is already working on this.
Since Jan 21, 2026.
Needs Investigation
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 132
Description
```ts
// @strict: true
function f(this: typeof globalThis) {
return () => this;
}
```
**Expected:** no error
**Actual:**
>The containing arrow function captures the global value of 'this'.
I think we just need to add an `isSourceFile(container)` check or something.
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.
Assessment
This issue has not been assessed yet.