@@ -443,34 +443,50 @@ export const o2: T0 = o1;
443443>o1 : Symbol(o1, Decl(main.ts, 101, 12))
444444
445445// recursive declarations
446- declare const rI: RI;
447- >rI : Symbol(rI, Decl(main.ts, 115, 13))
448- >RI : Symbol(RI, Decl(main.ts, 115, 21))
446+ // (type parameter indirection courtesy of #20400)
447+ declare const rI: RI<"a">;
448+ >rI : Symbol(rI, Decl(main.ts, 116, 13))
449+ >RI : Symbol(RI, Decl(main.ts, 117, 4))
449450
450- interface RI {
451- >RI : Symbol(RI, Decl(main.ts, 115, 21))
451+ rI.x
452+ >rI.x : Symbol(RI.x, Decl(main.ts, 118, 35))
453+ >rI : Symbol(rI, Decl(main.ts, 116, 13))
454+ >x : Symbol(RI.x, Decl(main.ts, 118, 35))
452455
453- x: "a";
454- >x : Symbol(RI.x, Decl(main.ts, 116, 14))
456+ interface RI<T extends "a" | "b"> {
457+ >RI : Symbol(RI, Decl(main.ts, 117, 4))
458+ >T : Symbol(T, Decl(main.ts, 118, 13))
459+
460+ x: T;
461+ >x : Symbol(RI.x, Decl(main.ts, 118, 35))
462+ >T : Symbol(T, Decl(main.ts, 118, 13))
455463
456464 [rI.x]: "b";
457- >rI.x : Symbol(RI.x, Decl(main.ts, 116, 14 ))
458- >rI : Symbol(rI, Decl(main.ts, 115 , 13))
459- >x : Symbol(RI.x, Decl(main.ts, 116, 14 ))
465+ >rI.x : Symbol(RI.x, Decl(main.ts, 118, 35 ))
466+ >rI : Symbol(rI, Decl(main.ts, 116 , 13))
467+ >x : Symbol(RI.x, Decl(main.ts, 118, 35 ))
460468}
461469
462- declare const rC: RC;
463- >rC : Symbol(rC, Decl(main.ts, 121, 13))
464- >RC : Symbol(RC, Decl(main.ts, 121, 21))
470+ declare const rC: RC<"a">;
471+ >rC : Symbol(rC, Decl(main.ts, 123, 13))
472+ >RC : Symbol(RC, Decl(main.ts, 124, 4))
473+
474+ rC.x
475+ >rC.x : Symbol(RC.x, Decl(main.ts, 125, 39))
476+ >rC : Symbol(rC, Decl(main.ts, 123, 13))
477+ >x : Symbol(RC.x, Decl(main.ts, 125, 39))
465478
466- declare class RC {
467- >RC : Symbol(RC, Decl(main.ts, 121, 21))
479+ declare class RC<T extends "a" | "b"> {
480+ >RC : Symbol(RC, Decl(main.ts, 124, 4))
481+ >T : Symbol(T, Decl(main.ts, 125, 17))
468482
469- x: "a";
470- >x : Symbol(RC.x, Decl(main.ts, 122, 18))
483+ x: T;
484+ >x : Symbol(RC.x, Decl(main.ts, 125, 39))
485+ >T : Symbol(T, Decl(main.ts, 125, 17))
471486
472487 [rC.x]: "b";
473- >rC.x : Symbol(RC.x, Decl(main.ts, 122, 18 ))
474- >rC : Symbol(rC, Decl(main.ts, 121 , 13))
475- >x : Symbol(RC.x, Decl(main.ts, 122, 18 ))
488+ >rC.x : Symbol(RC.x, Decl(main.ts, 125, 39 ))
489+ >rC : Symbol(rC, Decl(main.ts, 123 , 13))
490+ >x : Symbol(RC.x, Decl(main.ts, 125, 39 ))
476491}
492+
0 commit comments