2014-12-16 00:01:33 +01:00
|
|
|
=== tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping1.ts ===
|
2014-12-15 23:11:21 +01:00
|
|
|
|
|
|
|
function tempTag1<T>(templateStrs: TemplateStringsArray, f: (x: T) => T, x: T): T;
|
|
|
|
>tempTag1 : { <T>(templateStrs: TemplateStringsArray, f: (x: T) => T, x: T): T; <T>(templateStrs: TemplateStringsArray, f: (x: T) => T, h: (y: T) => T, x: T): T; }
|
|
|
|
>T : T
|
|
|
|
>templateStrs : TemplateStringsArray
|
|
|
|
>TemplateStringsArray : TemplateStringsArray
|
|
|
|
>f : (x: T) => T
|
|
|
|
>x : T
|
|
|
|
>T : T
|
|
|
|
>T : T
|
|
|
|
>x : T
|
|
|
|
>T : T
|
|
|
|
>T : T
|
|
|
|
|
|
|
|
function tempTag1<T>(templateStrs: TemplateStringsArray, f: (x: T) => T, h: (y: T) => T, x: T): T;
|
|
|
|
>tempTag1 : { <T>(templateStrs: TemplateStringsArray, f: (x: T) => T, x: T): T; <T>(templateStrs: TemplateStringsArray, f: (x: T) => T, h: (y: T) => T, x: T): T; }
|
|
|
|
>T : T
|
|
|
|
>templateStrs : TemplateStringsArray
|
|
|
|
>TemplateStringsArray : TemplateStringsArray
|
|
|
|
>f : (x: T) => T
|
|
|
|
>x : T
|
|
|
|
>T : T
|
|
|
|
>T : T
|
|
|
|
>h : (y: T) => T
|
|
|
|
>y : T
|
|
|
|
>T : T
|
|
|
|
>T : T
|
|
|
|
>x : T
|
|
|
|
>T : T
|
|
|
|
>T : T
|
|
|
|
|
|
|
|
function tempTag1<T>(...rest: any[]): T {
|
|
|
|
>tempTag1 : { <T>(templateStrs: TemplateStringsArray, f: (x: T) => T, x: T): T; <T>(templateStrs: TemplateStringsArray, f: (x: T) => T, h: (y: T) => T, x: T): T; }
|
|
|
|
>T : T
|
|
|
|
>rest : any[]
|
|
|
|
>T : T
|
|
|
|
|
|
|
|
return undefined;
|
|
|
|
>undefined : undefined
|
|
|
|
}
|
|
|
|
|
|
|
|
tempTag1 `${ x => x }${ 10 }`;
|
|
|
|
>tempTag1 : { <T>(templateStrs: TemplateStringsArray, f: (x: T) => T, x: T): T; <T>(templateStrs: TemplateStringsArray, f: (x: T) => T, h: (y: T) => T, x: T): T; }
|
|
|
|
>x => x : (x: number) => number
|
|
|
|
>x : number
|
|
|
|
>x : number
|
|
|
|
|
|
|
|
tempTag1 `${ x => x }${ y => y }${ 10 }`;
|
|
|
|
>tempTag1 : { <T>(templateStrs: TemplateStringsArray, f: (x: T) => T, x: T): T; <T>(templateStrs: TemplateStringsArray, f: (x: T) => T, h: (y: T) => T, x: T): T; }
|
|
|
|
>x => x : (x: number) => number
|
|
|
|
>x : number
|
|
|
|
>x : number
|
|
|
|
>y => y : (y: number) => number
|
|
|
|
>y : number
|
|
|
|
>y : number
|
|
|
|
|
|
|
|
tempTag1 `${ x => x }${ (y: number) => y }${ undefined }`;
|
|
|
|
>tempTag1 : { <T>(templateStrs: TemplateStringsArray, f: (x: T) => T, x: T): T; <T>(templateStrs: TemplateStringsArray, f: (x: T) => T, h: (y: T) => T, x: T): T; }
|
|
|
|
>x => x : (x: number) => number
|
|
|
|
>x : number
|
|
|
|
>x : number
|
|
|
|
>(y: number) => y : (y: number) => number
|
|
|
|
>y : number
|
|
|
|
>y : number
|
|
|
|
>undefined : undefined
|
|
|
|
|
|
|
|
tempTag1 `${ (x: number) => x }${ y => y }${ undefined }`;
|
|
|
|
>tempTag1 : { <T>(templateStrs: TemplateStringsArray, f: (x: T) => T, x: T): T; <T>(templateStrs: TemplateStringsArray, f: (x: T) => T, h: (y: T) => T, x: T): T; }
|
|
|
|
>(x: number) => x : (x: number) => number
|
|
|
|
>x : number
|
|
|
|
>x : number
|
|
|
|
>y => y : (y: number) => number
|
|
|
|
>y : number
|
|
|
|
>y : number
|
|
|
|
>undefined : undefined
|
|
|
|
|