Skip to content

Crash: TypeError: Cannot read properties of undefined (reading 'aliasSymbol') remains when using variadic tuple with (infer C)[] and constrained inferΒ #63199

@na7ure-a

Description

@na7ure-a

πŸ”Ž 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

type SubTup<T> = 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugA bug in TypeScriptDomain: CrashesUnhandled exceptions/panics with no immediate primary root cause identified

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions