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
|
=== tests/cases/compiler/recursiveTypes1.ts ===
interface Entity<T extends Entity<T>> {
>Entity : Entity<T>
>T : T
>Entity : Entity<T>
>T : T
X: T;
>X : T
>T : T
Y: T;
>Y : T
>T : T
}
interface Person<U extends Person<U>> extends Entity<U> {
>Person : Person<U>
>U : U
>Person : Person<U>
>U : U
>Entity : Entity<T>
>U : U
n: number;
>n : number
}
interface Customer extends Person<Customer> {
>Customer : Customer
>Person : Person<U>
>Customer : Customer
s: string;
>s : string
}
|