diff --git a/tests/cases/conformance/types/conditional/conditionalTypes2.ts b/tests/cases/conformance/types/conditional/conditionalTypes2.ts index 4002ab6a0a7..be758945469 100644 --- a/tests/cases/conformance/types/conditional/conditionalTypes2.ts +++ b/tests/cases/conformance/types/conditional/conditionalTypes2.ts @@ -136,3 +136,14 @@ type B = type C = { [Q in { [P in keyof T]: T[P] extends V ? P : P; }[keyof T]]: C; }; + +// Repro from #23100 + +type A2 = + T extends object ? T extends any[] ? T : { [Q in keyof T]: A2; } : T; + +type B2 = + T extends object ? T extends any[] ? T : { [Q in keyof T]: B2; } : T; + +type C2 = + T extends object ? { [Q in keyof T]: C2; } : T;