Closed
Description
Bug Report
π Search Terms
isConstTypeVariable
π Version & Regression Information
- This is a crash
- This changed between versions 5.0 and 5.1.3
I suspect it's related to the changes in #53341 (cc @ahejlsberg)
β― Playground Link
I trimmed our product code to obtain a minimal repro. This code doesn't make sense and doesn't preserve the semantic of what the original code does (B
was originally an helper retrieving an union of all possible paths for an object), but it's much shorter and still reproduces the stack overflow.
Playground link with relevant code
π» Code
type A<T> = T;
type B<T> = T extends any[]
? never
: A<T> extends infer key
? key extends keyof T
? B<T[key]>
: never
: never;
function foo<T>() {
`${a}` as B<T>;
}
π Actual behavior
Stack overflow
π Expected behavior
Shouldn't stack overflow (various errors should be reported, but not a stack overflow).