1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
tests/cases/compiler/circularBaseTypes.ts(4,11): error TS2310: Type 'M2' recursively references itself as a base type.
tests/cases/compiler/circularBaseTypes.ts(5,6): error TS2456: Type alias 'M3' circularly references itself.
==== tests/cases/compiler/circularBaseTypes.ts (2 errors) ====
// Repro from #38098
type M<T> = { value: T };
interface M2 extends M<M3> {}; // Error
~~
!!! error TS2310: Type 'M2' recursively references itself as a base type.
type M3 = M2[keyof M2]; // Error
~~
!!! error TS2456: Type alias 'M3' circularly references itself.
function f(m: M3) {
return m.value;
}
|