50 lines
798 B
Text
50 lines
798 B
Text
|
=== 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
|
||
|
>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
|
||
|
>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
|
||
|
>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
|
||
|
>T : T
|
||
|
|
||
|
return new A<T>();
|
||
|
>new A<T>() : A<T>
|
||
|
>A : typeof A
|
||
|
>T : T
|
||
|
}
|
||
|
|