microsoft / microsoft/TypeScript
The parsing problem of the compiler under specific syntax combinations
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 132
Description
### 🔎 Search Terms
The parsing problem of the compiler under specific syntax combinations
### 🕗 Version & Regression Information
- This is the behavior in every version I tried
### ⏯ Playground Link
https://www.typescriptlang.org/play/?ts=5.8.3#code/MYGwhgzhAEAKYDsAuAnAlgUwgHgIID5poBvAKCKOAHsEJUBXYJKlACgAcUNg0IMAuaLgCUJchQlIAFrwB0nbrwzQAvNAU8+4ogF9t6rpoFDSe0gDN6CJmhrQI7MChRUA7q2GCARlSogMiGIS1LRI9lReXhgAJt6+-oFqDBgA3KT6XEj0KAhEAERgXsB50NjQrBARUdHQAPzQCBiucIiomDh06AgA5visBXmigo3N8MjoWNidaD19eV6D0MLyhkppZumW1ki2uQ5OLq4AjB6C0z1BFCF04ZExcX4BuUko9KnpEpnZueWVdzX1EYtcbtKZtWb9MCLYZNYFtSbnXr9BaiZYaNamdIWKw2Oz7ZxuABMp2gPkegTIwRoNz+1QeCWe0GSaQyGCyOXyhWKpV+VRidXKQLG8I64KRA2EQwasOFE1FXXFKKWK0UfHWpCAA
### 💻 Code
```ts
class Pantries {
constructor(precise: A) {
this.precise = precise
}
precise: A
}
function sparrow(): boolean {
const sobbed: boolean = true;
return "abc" < (sobbed ? new Pantries("a") : new Pantries("b") ).precise;
}
function sparrow1(): string {
const sobbed: boolean = true;
return (sobbed ? new Pantries("a") : new Pantries("b") ).precise;
}
function sparrow2(): boolean {
const sobbed: boolean = true;
return "abc" < (sobbed ? (new Pantries("a")) : new Pantries("b") ).precise;
}
```
### 🙁 Actual behavior
There was a problem when parsing the sparrow method, while the other methods worked fine.
### 🙂 Expected behavior
There will be no error reports or clear prompts
### Additional information about the issue
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.