microsoft / microsoft/TypeScript
Crash: TypeError: Cannot read properties of undefined (reading 'aliasSymbol') remains when using variadic tuple with (infer C)[] and constrained infer
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.3k
- Ø Merge
- 2 T. 4 Std.
- Gemergte PRs (30 T.)
- 132
Beschreibung
### 🔎 Search Terms
aliasSymbol, inferFromTypes, variadic tuple, compiler crash
### 🕗 Version & Regression Information
Version: 5.7.3, 5.8.3, 5.9.3,nightly (Still crashing after PR for #63014 )
### ⏯ Playground Link
https://www.typescriptlang.org/zh/play/?target=7&ts=5.9.3#code/C4TwDgpgBAygrgIwCpzAHiQPigXikqCAD2AgDsATAZygG0AoKJqAOjYAoBLMgMwgCcoAYQCUtALoAaRszYtufQQCFCJctToBDMiElRtIcfXFQA-FBUAuKGQgA3AQG56oSPn6cA5p4G5YiFHRaAEY9ACZxTEcgA
### 💻 Code
```ts
type SubTup = T extends [
...(infer C)[],
...infer B extends [any, any]
] ? B : never;
type Trigger = SubTup<[1, 2]>;
```
### 🙁 Actual behavior
```
TypeError: Cannot read properties of undefined (reading 'aliasSymbol')
at inferFromTypes (D:\github\TypeScript\built\local\_tsc.js:68686:18)
at inferFromObjectTypes (D:\github\TypeScript\built\local\_tsc.js:69171:23)
at invokeOnce (D:\github\TypeScript\built\local\_tsc.js:68878:9)
at inferFromTypes (D:\github\TypeScript\built\local\_tsc.js:68840:11)
at inferTypes (D:\github\TypeScript\built\local\_tsc.js:68674:5)
at getConditionalType (D:\github\TypeScript\built\local\_tsc.js:62706:11)
at getConditionalTypeInstantiation (D:\github\TypeScript\built\local\_tsc.js:63695:307)
at instantiateTypeWorker (D:\github\TypeScript\built\local\_tsc.js:63798:14)
at instantiateTypeWithAlias (D:\github\TypeScript\built\local\_tsc.js:63735:20)
at getTypeAliasInstantiation (D:\github\TypeScript\built\local\_tsc.js:60300:52)
Node.js v22.19.0
```
### 🙂 Expected behavior
The compiler should not crash.
### Additional information about the issue
I noticed that while PR #63014 fixed some crashes related to variadic tuples, the compiler still crashes (ICE) when using a slightly different syntax.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Reproduziere das variadic-tuple-Snippet aus dem Playground-Link oder im Compiler und verfolge dann den Stack durch built/local/_tsc.js, insbesondere durch inferFromTypes und inferFromObjectTypes. Vergleiche den verbleibenden Fehler mit PR #63014; abgeschlossen ist die Aufgabe, wenn das Beispiel nicht mehr den aliasSymbol TypeError erzeugt oder den Compiler zum Absturz bringt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 45/100