1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
=== tests/cases/compiler/circularBaseTypes.ts ===
// Repro from #38098
type M<T> = { value: T };
>M : M<T>
>value : T
interface M2 extends M<M3> {}; // Error
type M3 = M2[keyof M2]; // Error
>M3 : any
function f(m: M3) {
>f : (m: any) => any
>m : any
return m.value;
>m.value : any
>m : any
>value : any
}
// Repro from #32581
type X<T> = { [K in keyof T]: string } & { b: string };
>X : X<T>
>b : string
interface Y extends X<Y> {
a: "";
>a : ""
}
|