π Search Terms
RangeError: Maximum call stack size exceeded
getTypeFromTypeNode
getImpliedConstraint
Recursive tuple rest
Intersection type crash
π Version & Regression Information
Crashes in 5.7.3, 5.8.3, 5.9.3, and Nightly.
β― Playground Link
https://www.typescriptlang.org/zh/play/?target=7&ts=6.0.0-dev.20260203#code/C4TwDgpgBAysBOBLAdgcwCrwhAgveAhiDgM7oCuYANhADzoB8UAvFABTpQQAewEyAExJQA2gDoJKAGYR4UAEoBdKAH5REsXCRpM2PIWJlKNWvIbKAXFGQQAbrKgBKKADIoAIwD2nmgWRA
π» Code
type StringTreeArrayAsTuple<T> = (T extends [...infer R] ? [...StringTreeArrayAsTuple<R>] : never ) & boolean
π Actual behavior
.\ts-versions\nightly\node_modules\.bin\tsc.cmd interfaceDoesNotDependOnBaseTypes_enriched_deep_mutated_batch6.ts
D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:123178
throw e;
^
RangeError: Maximum call stack size exceeded
at getTypeFromTypeReference (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:60415:36)
at getTypeFromTypeNodeWorker (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:63093:16)
at getTypeFromTypeNode (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:63055:41)
at getImpliedConstraint (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:60310:182)
at getConditionalFlowTypeOfType (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:60321:28)
at getTypeFromTypeNode (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:63055:12)
at getTypeFromRestTypeNode (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:63026:12)
at getTypeFromTypeNodeWorker (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:63120:16)
at getTypeFromTypeNode (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:63055:41)
at map (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:196:19)
π Expected behavior
The compiler should not crash.
Additional information about the issue
No response
π Search Terms
RangeError: Maximum call stack size exceeded
getTypeFromTypeNode
getImpliedConstraint
Recursive tuple rest
Intersection type crash
π Version & Regression Information
Crashes in 5.7.3, 5.8.3, 5.9.3, and Nightly.
β― Playground Link
https://www.typescriptlang.org/zh/play/?target=7&ts=6.0.0-dev.20260203#code/C4TwDgpgBAysBOBLAdgcwCrwhAgveAhiDgM7oCuYANhADzoB8UAvFABTpQQAewEyAExJQA2gDoJKAGYR4UAEoBdKAH5REsXCRpM2PIWJlKNWvIbKAXFGQQAbrKgBKKADIoAIwD2nmgWRA
π» Code
π Actual behavior
π Expected behavior
The compiler should not crash.
Additional information about the issue
No response