@@ -257,78 +257,107 @@ function ft14(t: `foo${number}`) {
257
257
>t : Symbol(t, Decl(templateLiteralTypes2.ts, 64, 14))
258
258
}
259
259
260
+ declare function g1<T>(x: T): T;
261
+ >g1 : Symbol(g1, Decl(templateLiteralTypes2.ts, 70, 1))
262
+ >T : Symbol(T, Decl(templateLiteralTypes2.ts, 72, 20))
263
+ >x : Symbol(x, Decl(templateLiteralTypes2.ts, 72, 23))
264
+ >T : Symbol(T, Decl(templateLiteralTypes2.ts, 72, 20))
265
+ >T : Symbol(T, Decl(templateLiteralTypes2.ts, 72, 20))
266
+
267
+ declare function g2<T extends string>(x: T): T;
268
+ >g2 : Symbol(g2, Decl(templateLiteralTypes2.ts, 72, 32))
269
+ >T : Symbol(T, Decl(templateLiteralTypes2.ts, 73, 20))
270
+ >x : Symbol(x, Decl(templateLiteralTypes2.ts, 73, 38))
271
+ >T : Symbol(T, Decl(templateLiteralTypes2.ts, 73, 20))
272
+ >T : Symbol(T, Decl(templateLiteralTypes2.ts, 73, 20))
273
+
274
+ function ft20(s: string) {
275
+ >ft20 : Symbol(ft20, Decl(templateLiteralTypes2.ts, 73, 47))
276
+ >s : Symbol(s, Decl(templateLiteralTypes2.ts, 75, 14))
277
+
278
+ let x1 = g1(`xyz-${s}`); // string
279
+ >x1 : Symbol(x1, Decl(templateLiteralTypes2.ts, 76, 7))
280
+ >g1 : Symbol(g1, Decl(templateLiteralTypes2.ts, 70, 1))
281
+ >s : Symbol(s, Decl(templateLiteralTypes2.ts, 75, 14))
282
+
283
+ let x2 = g2(`xyz-${s}`); // `xyz-${string}`
284
+ >x2 : Symbol(x2, Decl(templateLiteralTypes2.ts, 77, 7))
285
+ >g2 : Symbol(g2, Decl(templateLiteralTypes2.ts, 72, 32))
286
+ >s : Symbol(s, Decl(templateLiteralTypes2.ts, 75, 14))
287
+ }
288
+
260
289
// Repro from #41631
261
290
262
291
declare function takesLiteral<T extends string>(literal: T): T extends `foo.bar.${infer R}` ? R : unknown;
263
- >takesLiteral : Symbol(takesLiteral, Decl(templateLiteralTypes2.ts, 70 , 1))
264
- >T : Symbol(T, Decl(templateLiteralTypes2.ts, 74 , 30))
265
- >literal : Symbol(literal, Decl(templateLiteralTypes2.ts, 74 , 48))
266
- >T : Symbol(T, Decl(templateLiteralTypes2.ts, 74 , 30))
267
- >T : Symbol(T, Decl(templateLiteralTypes2.ts, 74 , 30))
268
- >R : Symbol(R, Decl(templateLiteralTypes2.ts, 74 , 87))
269
- >R : Symbol(R, Decl(templateLiteralTypes2.ts, 74 , 87))
292
+ >takesLiteral : Symbol(takesLiteral, Decl(templateLiteralTypes2.ts, 78 , 1))
293
+ >T : Symbol(T, Decl(templateLiteralTypes2.ts, 82 , 30))
294
+ >literal : Symbol(literal, Decl(templateLiteralTypes2.ts, 82 , 48))
295
+ >T : Symbol(T, Decl(templateLiteralTypes2.ts, 82 , 30))
296
+ >T : Symbol(T, Decl(templateLiteralTypes2.ts, 82 , 30))
297
+ >R : Symbol(R, Decl(templateLiteralTypes2.ts, 82 , 87))
298
+ >R : Symbol(R, Decl(templateLiteralTypes2.ts, 82 , 87))
270
299
271
300
const t1 = takesLiteral("foo.bar.baz"); // "baz"
272
- >t1 : Symbol(t1, Decl(templateLiteralTypes2.ts, 76 , 5))
273
- >takesLiteral : Symbol(takesLiteral, Decl(templateLiteralTypes2.ts, 70 , 1))
301
+ >t1 : Symbol(t1, Decl(templateLiteralTypes2.ts, 84 , 5))
302
+ >takesLiteral : Symbol(takesLiteral, Decl(templateLiteralTypes2.ts, 78 , 1))
274
303
275
304
const id2 = "foo.bar.baz";
276
- >id2 : Symbol(id2, Decl(templateLiteralTypes2.ts, 77 , 5))
305
+ >id2 : Symbol(id2, Decl(templateLiteralTypes2.ts, 85 , 5))
277
306
278
307
const t2 = takesLiteral(id2); // "baz"
279
- >t2 : Symbol(t2, Decl(templateLiteralTypes2.ts, 78 , 5))
280
- >takesLiteral : Symbol(takesLiteral, Decl(templateLiteralTypes2.ts, 70 , 1))
281
- >id2 : Symbol(id2, Decl(templateLiteralTypes2.ts, 77 , 5))
308
+ >t2 : Symbol(t2, Decl(templateLiteralTypes2.ts, 86 , 5))
309
+ >takesLiteral : Symbol(takesLiteral, Decl(templateLiteralTypes2.ts, 78 , 1))
310
+ >id2 : Symbol(id2, Decl(templateLiteralTypes2.ts, 85 , 5))
282
311
283
312
declare const someString: string;
284
- >someString : Symbol(someString, Decl(templateLiteralTypes2.ts, 80 , 13))
313
+ >someString : Symbol(someString, Decl(templateLiteralTypes2.ts, 88 , 13))
285
314
286
315
const t3 = takesLiteral(`foo.bar.${someString}`); // string
287
- >t3 : Symbol(t3, Decl(templateLiteralTypes2.ts, 81 , 5))
288
- >takesLiteral : Symbol(takesLiteral, Decl(templateLiteralTypes2.ts, 70 , 1))
289
- >someString : Symbol(someString, Decl(templateLiteralTypes2.ts, 80 , 13))
316
+ >t3 : Symbol(t3, Decl(templateLiteralTypes2.ts, 89 , 5))
317
+ >takesLiteral : Symbol(takesLiteral, Decl(templateLiteralTypes2.ts, 78 , 1))
318
+ >someString : Symbol(someString, Decl(templateLiteralTypes2.ts, 88 , 13))
290
319
291
320
const id4 = `foo.bar.${someString}`;
292
- >id4 : Symbol(id4, Decl(templateLiteralTypes2.ts, 83 , 5))
293
- >someString : Symbol(someString, Decl(templateLiteralTypes2.ts, 80 , 13))
321
+ >id4 : Symbol(id4, Decl(templateLiteralTypes2.ts, 91 , 5))
322
+ >someString : Symbol(someString, Decl(templateLiteralTypes2.ts, 88 , 13))
294
323
295
324
const t4 = takesLiteral(id4); // string
296
- >t4 : Symbol(t4, Decl(templateLiteralTypes2.ts, 84 , 5))
297
- >takesLiteral : Symbol(takesLiteral, Decl(templateLiteralTypes2.ts, 70 , 1))
298
- >id4 : Symbol(id4, Decl(templateLiteralTypes2.ts, 83 , 5))
325
+ >t4 : Symbol(t4, Decl(templateLiteralTypes2.ts, 92 , 5))
326
+ >takesLiteral : Symbol(takesLiteral, Decl(templateLiteralTypes2.ts, 78 , 1))
327
+ >id4 : Symbol(id4, Decl(templateLiteralTypes2.ts, 91 , 5))
299
328
300
329
declare const someUnion: 'abc' | 'def' | 'ghi';
301
- >someUnion : Symbol(someUnion, Decl(templateLiteralTypes2.ts, 86 , 13))
330
+ >someUnion : Symbol(someUnion, Decl(templateLiteralTypes2.ts, 94 , 13))
302
331
303
332
const t5 = takesLiteral(`foo.bar.${someUnion}`); // "abc" | "def" | "ghi"
304
- >t5 : Symbol(t5, Decl(templateLiteralTypes2.ts, 87 , 5))
305
- >takesLiteral : Symbol(takesLiteral, Decl(templateLiteralTypes2.ts, 70 , 1))
306
- >someUnion : Symbol(someUnion, Decl(templateLiteralTypes2.ts, 86 , 13))
333
+ >t5 : Symbol(t5, Decl(templateLiteralTypes2.ts, 95 , 5))
334
+ >takesLiteral : Symbol(takesLiteral, Decl(templateLiteralTypes2.ts, 78 , 1))
335
+ >someUnion : Symbol(someUnion, Decl(templateLiteralTypes2.ts, 94 , 13))
307
336
308
337
// Repro from #41732
309
338
310
339
const pixelValue: number = 22;
311
- >pixelValue : Symbol(pixelValue, Decl(templateLiteralTypes2.ts, 91 , 5))
340
+ >pixelValue : Symbol(pixelValue, Decl(templateLiteralTypes2.ts, 99 , 5))
312
341
313
342
type PixelValueType = `${number}px`;
314
- >PixelValueType : Symbol(PixelValueType, Decl(templateLiteralTypes2.ts, 91 , 30))
343
+ >PixelValueType : Symbol(PixelValueType, Decl(templateLiteralTypes2.ts, 99 , 30))
315
344
316
345
const pixelString: PixelValueType = `22px`;
317
- >pixelString : Symbol(pixelString, Decl(templateLiteralTypes2.ts, 95 , 5))
318
- >PixelValueType : Symbol(PixelValueType, Decl(templateLiteralTypes2.ts, 91 , 30))
346
+ >pixelString : Symbol(pixelString, Decl(templateLiteralTypes2.ts, 103 , 5))
347
+ >PixelValueType : Symbol(PixelValueType, Decl(templateLiteralTypes2.ts, 99 , 30))
319
348
320
349
const pixelStringWithTemplate: PixelValueType = `${pixelValue}px`;
321
- >pixelStringWithTemplate : Symbol(pixelStringWithTemplate, Decl(templateLiteralTypes2.ts, 97 , 5))
322
- >PixelValueType : Symbol(PixelValueType, Decl(templateLiteralTypes2.ts, 91 , 30))
323
- >pixelValue : Symbol(pixelValue, Decl(templateLiteralTypes2.ts, 91 , 5))
350
+ >pixelStringWithTemplate : Symbol(pixelStringWithTemplate, Decl(templateLiteralTypes2.ts, 105 , 5))
351
+ >PixelValueType : Symbol(PixelValueType, Decl(templateLiteralTypes2.ts, 99 , 30))
352
+ >pixelValue : Symbol(pixelValue, Decl(templateLiteralTypes2.ts, 99 , 5))
324
353
325
354
// Repro from #43143
326
355
327
356
function getCardTitle(title: string): `test-${string}` {
328
- >getCardTitle : Symbol(getCardTitle, Decl(templateLiteralTypes2.ts, 97 , 66))
329
- >title : Symbol(title, Decl(templateLiteralTypes2.ts, 101 , 22))
357
+ >getCardTitle : Symbol(getCardTitle, Decl(templateLiteralTypes2.ts, 105 , 66))
358
+ >title : Symbol(title, Decl(templateLiteralTypes2.ts, 109 , 22))
330
359
331
360
return `test-${title}`;
332
- >title : Symbol(title, Decl(templateLiteralTypes2.ts, 101 , 22))
361
+ >title : Symbol(title, Decl(templateLiteralTypes2.ts, 109 , 22))
333
362
}
334
363
0 commit comments