@@ -45,54 +45,80 @@ function f2<T>(x: Partial<T>, y: Readonly<T>) {
45
45
>y : Symbol(y, Decl(mappedTypesAndObjects.ts, 7, 29))
46
46
}
47
47
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
+
48
59
// Repro from #12900
49
60
50
61
interface Base {
51
- >Base : Symbol(Base, Decl(mappedTypesAndObjects.ts, 11 , 1))
62
+ >Base : Symbol(Base, Decl(mappedTypesAndObjects.ts, 15 , 1))
52
63
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 ))
56
67
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 ))
59
70
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 ))
62
73
}
63
74
64
75
interface 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))
68
79
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))
72
83
}
73
84
74
85
interface 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))
78
89
79
90
interface 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))
82
93
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))
85
96
>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))
87
98
}
88
99
89
100
interface 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))
93
104
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))
96
107
>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))
98
109
}
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