@@ -152,64 +152,93 @@ const fn1 = <P extends Params1>(params: P) => {
152
152
153
153
};
154
154
155
+ const fn2 = <P extends Params1>({ foo, ...rest }: P) => {
156
+ >fn2 : Symbol(fn2, Decl(dependentDestructuredRestVariables1.tsx, 56, 5))
157
+ >P : Symbol(P, Decl(dependentDestructuredRestVariables1.tsx, 56, 13))
158
+ >Params1 : Symbol(Params1, Decl(dependentDestructuredRestVariables1.tsx, 39, 1))
159
+ >foo : Symbol(foo, Decl(dependentDestructuredRestVariables1.tsx, 56, 33))
160
+ >rest : Symbol(rest, Decl(dependentDestructuredRestVariables1.tsx, 56, 38))
161
+ >P : Symbol(P, Decl(dependentDestructuredRestVariables1.tsx, 56, 13))
162
+
163
+ if (rest.tag === "a") {
164
+ >rest.tag : Symbol(tag, Decl(dependentDestructuredRestVariables1.tsx, 43, 6), Decl(dependentDestructuredRestVariables1.tsx, 43, 35))
165
+ >rest : Symbol(rest, Decl(dependentDestructuredRestVariables1.tsx, 56, 38))
166
+ >tag : Symbol(tag, Decl(dependentDestructuredRestVariables1.tsx, 43, 6), Decl(dependentDestructuredRestVariables1.tsx, 43, 35))
167
+
168
+ rest.type.toFixed(); // ok
169
+ >rest.type.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --))
170
+ >rest.type : Symbol(type, Decl(dependentDestructuredRestVariables1.tsx, 43, 16))
171
+ >rest : Symbol(rest, Decl(dependentDestructuredRestVariables1.tsx, 56, 38))
172
+ >type : Symbol(type, Decl(dependentDestructuredRestVariables1.tsx, 43, 16))
173
+ >toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --))
174
+
175
+ return rest; // Omit<P, "foo">
176
+ >rest : Symbol(rest, Decl(dependentDestructuredRestVariables1.tsx, 56, 38))
177
+ }
178
+
179
+ return undefined;
180
+ >undefined : Symbol(undefined)
181
+
182
+ };
183
+
155
184
// https://github.com/microsoft/TypeScript/issues/53947
156
185
157
186
function ImageAvatar(props: { className?: string; src: string }) {
158
- >ImageAvatar : Symbol(ImageAvatar, Decl(dependentDestructuredRestVariables1.tsx, 54 , 2))
159
- >props : Symbol(props, Decl(dependentDestructuredRestVariables1.tsx, 58 , 21))
160
- >className : Symbol(className, Decl(dependentDestructuredRestVariables1.tsx, 58 , 29))
161
- >src : Symbol(src, Decl(dependentDestructuredRestVariables1.tsx, 58 , 49))
187
+ >ImageAvatar : Symbol(ImageAvatar, Decl(dependentDestructuredRestVariables1.tsx, 63 , 2))
188
+ >props : Symbol(props, Decl(dependentDestructuredRestVariables1.tsx, 67 , 21))
189
+ >className : Symbol(className, Decl(dependentDestructuredRestVariables1.tsx, 67 , 29))
190
+ >src : Symbol(src, Decl(dependentDestructuredRestVariables1.tsx, 67 , 49))
162
191
163
192
return null;
164
193
}
165
194
166
195
function InitialsAvatar(props: { className?: string; name: string }) {
167
- >InitialsAvatar : Symbol(InitialsAvatar, Decl(dependentDestructuredRestVariables1.tsx, 60 , 1))
168
- >props : Symbol(props, Decl(dependentDestructuredRestVariables1.tsx, 62 , 24))
169
- >className : Symbol(className, Decl(dependentDestructuredRestVariables1.tsx, 62 , 32))
170
- >name : Symbol(name, Decl(dependentDestructuredRestVariables1.tsx, 62 , 52))
196
+ >InitialsAvatar : Symbol(InitialsAvatar, Decl(dependentDestructuredRestVariables1.tsx, 69 , 1))
197
+ >props : Symbol(props, Decl(dependentDestructuredRestVariables1.tsx, 71 , 24))
198
+ >className : Symbol(className, Decl(dependentDestructuredRestVariables1.tsx, 71 , 32))
199
+ >name : Symbol(name, Decl(dependentDestructuredRestVariables1.tsx, 71 , 52))
171
200
172
201
return null;
173
202
}
174
203
175
204
type AvatarProps =
176
- >AvatarProps : Symbol(AvatarProps, Decl(dependentDestructuredRestVariables1.tsx, 64 , 1))
205
+ >AvatarProps : Symbol(AvatarProps, Decl(dependentDestructuredRestVariables1.tsx, 73 , 1))
177
206
178
207
| { type: "image"; src: string; className: string }
179
- >type : Symbol(type, Decl(dependentDestructuredRestVariables1.tsx, 67 , 5))
180
- >src : Symbol(src, Decl(dependentDestructuredRestVariables1.tsx, 67 , 20))
181
- >className : Symbol(className, Decl(dependentDestructuredRestVariables1.tsx, 67 , 33))
208
+ >type : Symbol(type, Decl(dependentDestructuredRestVariables1.tsx, 76 , 5))
209
+ >src : Symbol(src, Decl(dependentDestructuredRestVariables1.tsx, 76 , 20))
210
+ >className : Symbol(className, Decl(dependentDestructuredRestVariables1.tsx, 76 , 33))
182
211
183
212
| { type: "initials"; name: string; className: string };
184
- >type : Symbol(type, Decl(dependentDestructuredRestVariables1.tsx, 68 , 5))
185
- >name : Symbol(name, Decl(dependentDestructuredRestVariables1.tsx, 68 , 23))
186
- >className : Symbol(className, Decl(dependentDestructuredRestVariables1.tsx, 68 , 37))
213
+ >type : Symbol(type, Decl(dependentDestructuredRestVariables1.tsx, 77 , 5))
214
+ >name : Symbol(name, Decl(dependentDestructuredRestVariables1.tsx, 77 , 23))
215
+ >className : Symbol(className, Decl(dependentDestructuredRestVariables1.tsx, 77 , 37))
187
216
188
217
const Avatar = ({ type, className, ...rest }: AvatarProps) => {
189
- >Avatar : Symbol(Avatar, Decl(dependentDestructuredRestVariables1.tsx, 70 , 5))
190
- >type : Symbol(type, Decl(dependentDestructuredRestVariables1.tsx, 70 , 17))
191
- >className : Symbol(className, Decl(dependentDestructuredRestVariables1.tsx, 70 , 23))
192
- >rest : Symbol(rest, Decl(dependentDestructuredRestVariables1.tsx, 70 , 34))
193
- >AvatarProps : Symbol(AvatarProps, Decl(dependentDestructuredRestVariables1.tsx, 64 , 1))
218
+ >Avatar : Symbol(Avatar, Decl(dependentDestructuredRestVariables1.tsx, 79 , 5))
219
+ >type : Symbol(type, Decl(dependentDestructuredRestVariables1.tsx, 79 , 17))
220
+ >className : Symbol(className, Decl(dependentDestructuredRestVariables1.tsx, 79 , 23))
221
+ >rest : Symbol(rest, Decl(dependentDestructuredRestVariables1.tsx, 79 , 34))
222
+ >AvatarProps : Symbol(AvatarProps, Decl(dependentDestructuredRestVariables1.tsx, 73 , 1))
194
223
195
224
if (type === "image") {
196
- >type : Symbol(type, Decl(dependentDestructuredRestVariables1.tsx, 70 , 17))
225
+ >type : Symbol(type, Decl(dependentDestructuredRestVariables1.tsx, 79 , 17))
197
226
198
227
return <ImageAvatar className={className} {...rest} />;
199
- >ImageAvatar : Symbol(ImageAvatar, Decl(dependentDestructuredRestVariables1.tsx, 54 , 2))
200
- >className : Symbol(className, Decl(dependentDestructuredRestVariables1.tsx, 72 , 23))
201
- >className : Symbol(className, Decl(dependentDestructuredRestVariables1.tsx, 70 , 23))
202
- >rest : Symbol(rest, Decl(dependentDestructuredRestVariables1.tsx, 70 , 34))
228
+ >ImageAvatar : Symbol(ImageAvatar, Decl(dependentDestructuredRestVariables1.tsx, 63 , 2))
229
+ >className : Symbol(className, Decl(dependentDestructuredRestVariables1.tsx, 81 , 23))
230
+ >className : Symbol(className, Decl(dependentDestructuredRestVariables1.tsx, 79 , 23))
231
+ >rest : Symbol(rest, Decl(dependentDestructuredRestVariables1.tsx, 79 , 34))
203
232
}
204
233
205
234
if (type === "initials") {
206
- >type : Symbol(type, Decl(dependentDestructuredRestVariables1.tsx, 70 , 17))
235
+ >type : Symbol(type, Decl(dependentDestructuredRestVariables1.tsx, 79 , 17))
207
236
208
237
return <InitialsAvatar className={className} {...rest} />;
209
- >InitialsAvatar : Symbol(InitialsAvatar, Decl(dependentDestructuredRestVariables1.tsx, 60 , 1))
210
- >className : Symbol(className, Decl(dependentDestructuredRestVariables1.tsx, 76 , 26))
211
- >className : Symbol(className, Decl(dependentDestructuredRestVariables1.tsx, 70 , 23))
212
- >rest : Symbol(rest, Decl(dependentDestructuredRestVariables1.tsx, 70 , 34))
238
+ >InitialsAvatar : Symbol(InitialsAvatar, Decl(dependentDestructuredRestVariables1.tsx, 69 , 1))
239
+ >className : Symbol(className, Decl(dependentDestructuredRestVariables1.tsx, 85 , 26))
240
+ >className : Symbol(className, Decl(dependentDestructuredRestVariables1.tsx, 79 , 23))
241
+ >rest : Symbol(rest, Decl(dependentDestructuredRestVariables1.tsx, 79 , 34))
213
242
}
214
243
215
244
throw new Error("");
0 commit comments