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/infinitelyExpandingTypes2.ts ===
interface Foo<T> {
x: Foo<Foo<T>>;
>x : Foo<Foo<T>>
}
interface Bar<T> extends Foo<T> {
y: string;
>y : string
}
function f(p: Foo<number>) {
>f : (p: Foo<number>) => void
>p : Foo<number>
console.log(p);
>console.log(p) : void
>console.log : (...data: any[]) => void
>console : Console
>log : (...data: any[]) => void
>p : Foo<number>
}
var v: Bar<number> = null;
>v : Bar<number>
>null : null
f(v); // should not error
>f(v) : void
>f : (p: Foo<number>) => void
>v : Bar<number>
|