diff --git a/tests/baselines/reference/inferTypesWithExtendsDependingOnTypeVariables.symbols b/tests/baselines/reference/inferTypesWithExtendsDependingOnTypeVariables.symbols new file mode 100644 index 00000000000..20a17c8c279 --- /dev/null +++ b/tests/baselines/reference/inferTypesWithExtendsDependingOnTypeVariables.symbols @@ -0,0 +1,18 @@ +//// [tests/cases/conformance/types/conditional/inferTypesWithExtendsDependingOnTypeVariables.ts] //// + +=== inferTypesWithExtendsDependingOnTypeVariables.ts === +// repro from https://github.com/microsoft/TypeScript/issues/54197 + +type Bar = T extends readonly [any, ...infer X extends readonly K[]] ? X : never; +>Bar : Symbol(Bar, Decl(inferTypesWithExtendsDependingOnTypeVariables.ts, 0, 0)) +>K : Symbol(K, Decl(inferTypesWithExtendsDependingOnTypeVariables.ts, 2, 9)) +>T : Symbol(T, Decl(inferTypesWithExtendsDependingOnTypeVariables.ts, 2, 11)) +>T : Symbol(T, Decl(inferTypesWithExtendsDependingOnTypeVariables.ts, 2, 11)) +>X : Symbol(X, Decl(inferTypesWithExtendsDependingOnTypeVariables.ts, 2, 77)) +>K : Symbol(K, Decl(inferTypesWithExtendsDependingOnTypeVariables.ts, 2, 9)) +>X : Symbol(X, Decl(inferTypesWithExtendsDependingOnTypeVariables.ts, 2, 77)) + +type Res1 = Bar<"a" | "b", ["a", "b", "b"]> +>Res1 : Symbol(Res1, Decl(inferTypesWithExtendsDependingOnTypeVariables.ts, 2, 114)) +>Bar : Symbol(Bar, Decl(inferTypesWithExtendsDependingOnTypeVariables.ts, 0, 0)) + diff --git a/tests/baselines/reference/inferTypesWithExtendsDependingOnTypeVariables.types b/tests/baselines/reference/inferTypesWithExtendsDependingOnTypeVariables.types new file mode 100644 index 00000000000..d891ae6597f --- /dev/null +++ b/tests/baselines/reference/inferTypesWithExtendsDependingOnTypeVariables.types @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/types/conditional/inferTypesWithExtendsDependingOnTypeVariables.ts] //// + +=== inferTypesWithExtendsDependingOnTypeVariables.ts === +// repro from https://github.com/microsoft/TypeScript/issues/54197 + +type Bar = T extends readonly [any, ...infer X extends readonly K[]] ? X : never; +>Bar : Bar +> : ^^^^^^^^^ + +type Res1 = Bar<"a" | "b", ["a", "b", "b"]> +>Res1 : ["b", "b"] +> : ^^^^^^^^^^ + diff --git a/tests/cases/conformance/types/conditional/inferTypesWithExtendsDependingOnTypeVariables.ts b/tests/cases/conformance/types/conditional/inferTypesWithExtendsDependingOnTypeVariables.ts new file mode 100644 index 00000000000..9deb9e41f1c --- /dev/null +++ b/tests/cases/conformance/types/conditional/inferTypesWithExtendsDependingOnTypeVariables.ts @@ -0,0 +1,7 @@ +// @strict: true +// @noEmit: true + +// repro from https://github.com/microsoft/TypeScript/issues/54197 + +type Bar = T extends readonly [any, ...infer X extends readonly K[]] ? X : never; +type Res1 = Bar<"a" | "b", ["a", "b", "b"]>