TypeScript/tests/baselines/reference/generatorTypeCheck45.types
2015-05-04 16:15:55 -07:00

34 lines
978 B
Plaintext

=== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck45.ts ===
declare function foo<T, U>(x: T, fun: () => Iterator<(x: T) => U>, fun2: (y: U) => T): T;
>foo : <T, U>(x: T, fun: () => Iterator<(x: T) => U>, fun2: (y: U) => T) => T
>T : T
>U : U
>x : T
>T : T
>fun : () => Iterator<(x: T) => U>
>Iterator : Iterator<T>
>x : T
>T : T
>U : U
>fun2 : (y: U) => T
>y : U
>U : U
>T : T
>T : T
foo("", function* () { yield x => x.length }, p => undefined); // T is fixed, should be string
>foo("", function* () { yield x => x.length }, p => undefined) : string
>foo : <T, U>(x: T, fun: () => Iterator<(x: T) => U>, fun2: (y: U) => T) => T
>"" : string
>function* () { yield x => x.length } : () => IterableIterator<(x: string) => number>
>yield x => x.length : any
>x => x.length : (x: string) => number
>x : string
>x.length : number
>x : string
>length : number
>p => undefined : (p: number) => any
>p : number
>undefined : undefined