50 lines
810 B
Plaintext
50 lines
810 B
Plaintext
=== tests/cases/compiler/functionOverloadsRecursiveGenericReturnType.ts ===
|
|
class B<V>{
|
|
>B : B<V>
|
|
>V : V
|
|
|
|
private id: V;
|
|
>id : V
|
|
>V : V
|
|
}
|
|
|
|
class A<U>{
|
|
>A : A<U>
|
|
>U : U
|
|
|
|
GetEnumerator: () => B<U>;
|
|
>GetEnumerator : () => B<U>
|
|
>B : B<V>
|
|
>U : U
|
|
}
|
|
|
|
function Choice<T>(args: T[]): A<T>;
|
|
>Choice : { <T>(args: T[]): A<T>; <T>(...v_args: T[]): A<T>; }
|
|
>T : T
|
|
>args : T[]
|
|
>T : T
|
|
>A : A<U>
|
|
>T : T
|
|
|
|
function Choice<T>(...v_args: T[]): A<T>;
|
|
>Choice : { <T>(args: T[]): A<T>; <T>(...v_args: T[]): A<T>; }
|
|
>T : T
|
|
>v_args : T[]
|
|
>T : T
|
|
>A : A<U>
|
|
>T : T
|
|
|
|
function Choice<T>(...v_args: any[]): A<T>{
|
|
>Choice : { <T>(args: T[]): A<T>; <T>(...v_args: T[]): A<T>; }
|
|
>T : T
|
|
>v_args : any[]
|
|
>A : A<U>
|
|
>T : T
|
|
|
|
return new A<T>();
|
|
>new A<T>() : A<T>
|
|
>A : typeof A
|
|
>T : T
|
|
}
|
|
|