-
Notifications
You must be signed in to change notification settings - Fork 13.2k
Open
Description
🔎 Search Terms
"Maximum call stack size exceeded"
"createTypeNodesFromResolvedType stack overflow"
"visitAndTransformType crash"
"recursive mapped type keyof distribution"
🕗 Version & Regression Information
Crashes in 5.7.3, 5.8.3, 5.9.3, Nightly,TS7.
⏯ Playground Link
💻 Code
type N<T, K extends string> =T | {
[P in K]: N<keyof T, K>
}[K];
type M = N<number, "M">;🙁 Actual behavior
.\ts-versions\nightly\node_modules\.bin\tsc.cmd recursivelyExpandingUnionNoStackoverflow_mutated_batch0.ts
D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:123214
throw e;
^
RangeError: Maximum call stack size exceeded
at instantiateTypeWorker (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:63601:33)
at instantiateTypeWithAlias (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:63592:20)
at instantiateType (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:63560:29)
at getTypeOfMappedSymbol (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:58471:24)
at getTypeOfSymbol (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:56838:14)
at getNonMissingTypeOfSymbol (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:56861:30)
at addPropertyToElementList (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:52128:97)
at createTypeNodesFromResolvedType (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:52090:11)
at createTypeNodeFromObjectType (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:51815:25)
at visitAndTransformType (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:51738:24)
Node.js v22.19.0
🙂 Expected behavior
The compiler should not crash.
Additional information about the issue
No response
Metadata
Metadata
Assignees
Labels
No labels