@@ -45,54 +45,80 @@ function f2<T>(x: Partial<T>, y: Readonly<T>) {
4545>y : Symbol(y, Decl(mappedTypesAndObjects.ts, 7, 29))
4646}
4747
48+ function f3<T>(x: Partial<T>) {
49+ >f3 : Symbol(f3, Decl(mappedTypesAndObjects.ts, 11, 1))
50+ >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 13, 12))
51+ >x : Symbol(x, Decl(mappedTypesAndObjects.ts, 13, 15))
52+ >Partial : Symbol(Partial, Decl(lib.d.ts, --, --))
53+ >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 13, 12))
54+
55+ x = {};
56+ >x : Symbol(x, Decl(mappedTypesAndObjects.ts, 13, 15))
57+ }
58+
4859// Repro from #12900
4960
5061interface Base {
51- >Base : Symbol(Base, Decl(mappedTypesAndObjects.ts, 11 , 1))
62+ >Base : Symbol(Base, Decl(mappedTypesAndObjects.ts, 15 , 1))
5263
53- foo: { [key: string]: any };
54- >foo : Symbol(Base.foo, Decl(mappedTypesAndObjects.ts, 15 , 16))
55- >key : Symbol(key, Decl(mappedTypesAndObjects.ts, 16, 11 ))
64+ foo: { [key: string]: any };
65+ >foo : Symbol(Base.foo, Decl(mappedTypesAndObjects.ts, 19 , 16))
66+ >key : Symbol(key, Decl(mappedTypesAndObjects.ts, 20, 12 ))
5667
57- bar: any;
58- >bar : Symbol(Base.bar, Decl(mappedTypesAndObjects.ts, 16, 31 ))
68+ bar: any;
69+ >bar : Symbol(Base.bar, Decl(mappedTypesAndObjects.ts, 20, 32 ))
5970
60- baz: any;
61- >baz : Symbol(Base.baz, Decl(mappedTypesAndObjects.ts, 17, 12 ))
71+ baz: any;
72+ >baz : Symbol(Base.baz, Decl(mappedTypesAndObjects.ts, 21, 13 ))
6273}
6374
6475interface E1<T> extends Base {
65- >E1 : Symbol(E1, Decl(mappedTypesAndObjects.ts, 19 , 1))
66- >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 21 , 13))
67- >Base : Symbol(Base, Decl(mappedTypesAndObjects.ts, 11 , 1))
76+ >E1 : Symbol(E1, Decl(mappedTypesAndObjects.ts, 23 , 1))
77+ >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 25 , 13))
78+ >Base : Symbol(Base, Decl(mappedTypesAndObjects.ts, 15 , 1))
6879
69- foo: T;
70- >foo : Symbol(E1.foo, Decl(mappedTypesAndObjects.ts, 21 , 30))
71- >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 21 , 13))
80+ foo: T;
81+ >foo : Symbol(E1.foo, Decl(mappedTypesAndObjects.ts, 25 , 30))
82+ >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 25 , 13))
7283}
7384
7485interface Something { name: string, value: string };
75- >Something : Symbol(Something, Decl(mappedTypesAndObjects.ts, 23 , 1))
76- >name : Symbol(Something.name, Decl(mappedTypesAndObjects.ts, 25 , 21))
77- >value : Symbol(Something.value, Decl(mappedTypesAndObjects.ts, 25 , 35))
86+ >Something : Symbol(Something, Decl(mappedTypesAndObjects.ts, 27 , 1))
87+ >name : Symbol(Something.name, Decl(mappedTypesAndObjects.ts, 29 , 21))
88+ >value : Symbol(Something.value, Decl(mappedTypesAndObjects.ts, 29 , 35))
7889
7990interface E2 extends Base {
80- >E2 : Symbol(E2, Decl(mappedTypesAndObjects.ts, 25 , 52))
81- >Base : Symbol(Base, Decl(mappedTypesAndObjects.ts, 11 , 1))
91+ >E2 : Symbol(E2, Decl(mappedTypesAndObjects.ts, 29 , 52))
92+ >Base : Symbol(Base, Decl(mappedTypesAndObjects.ts, 15 , 1))
8293
83- foo: Partial<Something>; // or other mapped type
84- >foo : Symbol(E2.foo, Decl(mappedTypesAndObjects.ts, 26 , 27))
94+ foo: Partial<Something>; // or other mapped type
95+ >foo : Symbol(E2.foo, Decl(mappedTypesAndObjects.ts, 30 , 27))
8596>Partial : Symbol(Partial, Decl(lib.d.ts, --, --))
86- >Something : Symbol(Something, Decl(mappedTypesAndObjects.ts, 23 , 1))
97+ >Something : Symbol(Something, Decl(mappedTypesAndObjects.ts, 27 , 1))
8798}
8899
89100interface E3<T> extends Base {
90- >E3 : Symbol(E3, Decl(mappedTypesAndObjects.ts, 28 , 1))
91- >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 30 , 13))
92- >Base : Symbol(Base, Decl(mappedTypesAndObjects.ts, 11 , 1))
101+ >E3 : Symbol(E3, Decl(mappedTypesAndObjects.ts, 32 , 1))
102+ >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 34 , 13))
103+ >Base : Symbol(Base, Decl(mappedTypesAndObjects.ts, 15 , 1))
93104
94- foo: Partial<T>; // or other mapped type
95- >foo : Symbol(E3.foo, Decl(mappedTypesAndObjects.ts, 30 , 30))
105+ foo: Partial<T>; // or other mapped type
106+ >foo : Symbol(E3.foo, Decl(mappedTypesAndObjects.ts, 34 , 30))
96107>Partial : Symbol(Partial, Decl(lib.d.ts, --, --))
97- >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 30 , 13))
108+ >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 34 , 13))
98109}
110+
111+ // Repro from #13747
112+
113+ class Form<T> {
114+ >Form : Symbol(Form, Decl(mappedTypesAndObjects.ts, 36, 1))
115+ >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 40, 11))
116+
117+ private values: {[P in keyof T]?: T[P]} = {}
118+ >values : Symbol(Form.values, Decl(mappedTypesAndObjects.ts, 40, 15))
119+ >P : Symbol(P, Decl(mappedTypesAndObjects.ts, 41, 22))
120+ >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 40, 11))
121+ >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 40, 11))
122+ >P : Symbol(P, Decl(mappedTypesAndObjects.ts, 41, 22))
123+ }
124+
0 commit comments