microsoft / microsoft/TypeScript
TS2322 error in tsgo but not tsc
Open
@ahejlsberg is already working on this.
Since Aug 19, 2025.
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 132
Description
## Steps to reproduce
With default compiler options:
```ts
enum E {
Foo,
Bar,
}
type A = { type: 'a'; e: E }
type B = { type: 'b' }
type C = A & { e: E.Bar }
function fn(v: A | B | C): A | B | C {
return { ...v, e: E.Foo }
}
```
## Behavior with `typescript@5.8`
Typechecks successfully.
## Behavior with `tsgo`
> index.ts:10:18 - error TS2322: Type 'E.Foo' is not assignable to type 'E.Bar'.
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.