@@ -196,3 +196,34 @@ var x1: DeepReadonlyFoo;
196196>x1 : Symbol(x1, Decl(mappedTypes4.ts, 58, 3), Decl(mappedTypes4.ts, 59, 3))
197197>DeepReadonlyFoo : Symbol(DeepReadonlyFoo, Decl(mappedTypes4.ts, 50, 2))
198198
199+ // Repro from #13232
200+
201+ type Z = { a: number };
202+ >Z : Symbol(Z, Decl(mappedTypes4.ts, 59, 24))
203+ >a : Symbol(a, Decl(mappedTypes4.ts, 63, 10))
204+
205+ type Clone<T> = {
206+ >Clone : Symbol(Clone, Decl(mappedTypes4.ts, 63, 23))
207+ >T : Symbol(T, Decl(mappedTypes4.ts, 64, 11))
208+
209+ [P in keyof (T & {})]: T[P];
210+ >P : Symbol(P, Decl(mappedTypes4.ts, 65, 3))
211+ >T : Symbol(T, Decl(mappedTypes4.ts, 64, 11))
212+ >T : Symbol(T, Decl(mappedTypes4.ts, 64, 11))
213+ >P : Symbol(P, Decl(mappedTypes4.ts, 65, 3))
214+
215+ };
216+ type M = Clone<Z>; // M should be { a: number }
217+ >M : Symbol(M, Decl(mappedTypes4.ts, 66, 2))
218+ >Clone : Symbol(Clone, Decl(mappedTypes4.ts, 63, 23))
219+ >Z : Symbol(Z, Decl(mappedTypes4.ts, 59, 24))
220+
221+ var z1: Z;
222+ >z1 : Symbol(z1, Decl(mappedTypes4.ts, 69, 3), Decl(mappedTypes4.ts, 70, 3))
223+ >Z : Symbol(Z, Decl(mappedTypes4.ts, 59, 24))
224+
225+ var z1: Clone<Z>;
226+ >z1 : Symbol(z1, Decl(mappedTypes4.ts, 69, 3), Decl(mappedTypes4.ts, 70, 3))
227+ >Clone : Symbol(Clone, Decl(mappedTypes4.ts, 63, 23))
228+ >Z : Symbol(Z, Decl(mappedTypes4.ts, 59, 24))
229+
0 commit comments