TypeScript/tests/cases/compiler/infinitelyExpandingTypes4.ts
2014-07-12 17:30:19 -07:00

23 lines
465 B
TypeScript

interface Query<T> {
// ...
groupBy<K>(keySelector: (item: T) => K): Query<Grouping<K, T>>;
// ...
}
interface QueryEnumerator<T> {
// ...
groupBy<K>(keySelector: (item: T) => K): QueryEnumerator<Grouping<K, T>>;
// ...
}
interface Grouping<K, T> extends Query<T> {
key(): K;
}
var q1: Query<number>;
var q2: QueryEnumerator<number>;
var q3: Query<number>;
q1 = q2; // should error
q1 = q3; // should not error