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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
=== tests/cases/compiler/infinitelyExpandingTypes4.ts ===
interface Query<T> {
>Query : Symbol(Query, Decl(infinitelyExpandingTypes4.ts, 0, 0))
>T : Symbol(T, Decl(infinitelyExpandingTypes4.ts, 0, 16))
// ...
groupBy<K>(keySelector: (item: T) => K): Query<Grouping<K, T>>;
>groupBy : Symbol(Query.groupBy, Decl(infinitelyExpandingTypes4.ts, 0, 20))
>K : Symbol(K, Decl(infinitelyExpandingTypes4.ts, 2, 12))
>keySelector : Symbol(keySelector, Decl(infinitelyExpandingTypes4.ts, 2, 15))
>item : Symbol(item, Decl(infinitelyExpandingTypes4.ts, 2, 29))
>T : Symbol(T, Decl(infinitelyExpandingTypes4.ts, 0, 16))
>K : Symbol(K, Decl(infinitelyExpandingTypes4.ts, 2, 12))
>Query : Symbol(Query, Decl(infinitelyExpandingTypes4.ts, 0, 0))
>Grouping : Symbol(Grouping, Decl(infinitelyExpandingTypes4.ts, 10, 1))
>K : Symbol(K, Decl(infinitelyExpandingTypes4.ts, 2, 12))
>T : Symbol(T, Decl(infinitelyExpandingTypes4.ts, 0, 16))
// ...
}
interface QueryEnumerator<T> {
>QueryEnumerator : Symbol(QueryEnumerator, Decl(infinitelyExpandingTypes4.ts, 4, 1))
>T : Symbol(T, Decl(infinitelyExpandingTypes4.ts, 6, 26))
// ...
groupBy<K>(keySelector: (item: T) => K): QueryEnumerator<Grouping<K, T>>;
>groupBy : Symbol(QueryEnumerator.groupBy, Decl(infinitelyExpandingTypes4.ts, 6, 30))
>K : Symbol(K, Decl(infinitelyExpandingTypes4.ts, 8, 12))
>keySelector : Symbol(keySelector, Decl(infinitelyExpandingTypes4.ts, 8, 15))
>item : Symbol(item, Decl(infinitelyExpandingTypes4.ts, 8, 29))
>T : Symbol(T, Decl(infinitelyExpandingTypes4.ts, 6, 26))
>K : Symbol(K, Decl(infinitelyExpandingTypes4.ts, 8, 12))
>QueryEnumerator : Symbol(QueryEnumerator, Decl(infinitelyExpandingTypes4.ts, 4, 1))
>Grouping : Symbol(Grouping, Decl(infinitelyExpandingTypes4.ts, 10, 1))
>K : Symbol(K, Decl(infinitelyExpandingTypes4.ts, 8, 12))
>T : Symbol(T, Decl(infinitelyExpandingTypes4.ts, 6, 26))
// ...
}
interface Grouping<K, T> extends Query<T> {
>Grouping : Symbol(Grouping, Decl(infinitelyExpandingTypes4.ts, 10, 1))
>K : Symbol(K, Decl(infinitelyExpandingTypes4.ts, 12, 19))
>T : Symbol(T, Decl(infinitelyExpandingTypes4.ts, 12, 21))
>Query : Symbol(Query, Decl(infinitelyExpandingTypes4.ts, 0, 0))
>T : Symbol(T, Decl(infinitelyExpandingTypes4.ts, 12, 21))
key(): K;
>key : Symbol(Grouping.key, Decl(infinitelyExpandingTypes4.ts, 12, 43))
>K : Symbol(K, Decl(infinitelyExpandingTypes4.ts, 12, 19))
}
var q1: Query<number>;
>q1 : Symbol(q1, Decl(infinitelyExpandingTypes4.ts, 16, 3))
>Query : Symbol(Query, Decl(infinitelyExpandingTypes4.ts, 0, 0))
var q2: QueryEnumerator<number>;
>q2 : Symbol(q2, Decl(infinitelyExpandingTypes4.ts, 17, 3))
>QueryEnumerator : Symbol(QueryEnumerator, Decl(infinitelyExpandingTypes4.ts, 4, 1))
var q3: Query<number>;
>q3 : Symbol(q3, Decl(infinitelyExpandingTypes4.ts, 18, 3))
>Query : Symbol(Query, Decl(infinitelyExpandingTypes4.ts, 0, 0))
q1 = q2; // should error
>q1 : Symbol(q1, Decl(infinitelyExpandingTypes4.ts, 16, 3))
>q2 : Symbol(q2, Decl(infinitelyExpandingTypes4.ts, 17, 3))
q1 = q3; // should not error
>q1 : Symbol(q1, Decl(infinitelyExpandingTypes4.ts, 16, 3))
>q3 : Symbol(q3, Decl(infinitelyExpandingTypes4.ts, 18, 3))
|