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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
=== tests/cases/compiler/infinitelyExpandingTypes1.ts ===
interface List<T> {
data: T;
>data : T
next: List<T>;
>next : List<T>
owner: List<List<T>>;
>owner : List<List<T>>
}
interface MyList<T> {
data: T;
>data : T
next: MyList<T>;
>next : MyList<T>
owner: MyList<MyList<T>>;
>owner : MyList<MyList<T>>
}
var l: List<number>;
>l : List<number>
var m: MyList<number>;
>m : MyList<number>
l == m; // should error
>l == m : boolean
>l : List<number>
>m : MyList<number>
var l2: List<string>;
>l2 : List<string>
l == l2; // should error;
>l == l2 : boolean
>l : List<number>
>l2 : List<string>
l == l; // should not error
>l == l : boolean
>l : List<number>
>l : List<number>
|