TypeScript/tests/cases/compiler/noExcessiveStackDepthError.ts
Anders Hejlsberg 7cbcfeea99
Exclude identity relation from mapped type relation check (#46632)
* Exclude identity relation from mapped type relation check

* Add regression test
2021-11-02 06:54:35 -07:00

18 lines
377 B
TypeScript

// @strict: true
// @declaration: true
// Repro from #46631
interface FindOperator<T> {
foo: T;
}
type FindConditions<T> = {
[P in keyof T]?: FindConditions<T[P]> | FindOperator<FindConditions<T[P]>>;
};
function foo<Entity>() {
var x: FindConditions<any>;
var x: FindConditions<Entity>; // Excessive stack depth error not expected here
}