File: generatorTypeCheck46.types

package info (click to toggle)
node-typescript 2.1.5-1~bpo8%2B1
  • links: PTS, VCS
  • area: main
  • in suites: jessie-backports
  • size: 203,960 kB
  • sloc: sh: 11; makefile: 5
file content (47 lines) | stat: -rw-r--r-- 1,505 bytes parent folder | download | duplicates (2)
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
38
39
40
41
42
43
44
45
46
47
=== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck46.ts ===
declare function foo<T, U>(x: T, fun: () => Iterable<(x: T) => U>, fun2: (y: U) => T): T;
>foo : <T, U>(x: T, fun: () => Iterable<(x: T) => U>, fun2: (y: U) => T) => T
>T : T
>U : U
>x : T
>T : T
>fun : () => Iterable<(x: T) => U>
>Iterable : Iterable<T>
>x : T
>T : T
>U : U
>fun2 : (y: U) => T
>y : U
>U : U
>T : T
>T : T

foo("", function* () {
>foo("", function* () {    yield* {        *[Symbol.iterator]() {            yield x => x.length        }    }}, p => undefined) : string
>foo : <T, U>(x: T, fun: () => Iterable<(x: T) => U>, fun2: (y: U) => T) => T
>"" : ""
>function* () {    yield* {        *[Symbol.iterator]() {            yield x => x.length        }    }} : () => IterableIterator<(x: string) => number>

    yield* {
>yield* {        *[Symbol.iterator]() {            yield x => x.length        }    } : any
>{        *[Symbol.iterator]() {            yield x => x.length        }    } : { [Symbol.iterator](): IterableIterator<(x: string) => number>; }

        *[Symbol.iterator]() {
>Symbol.iterator : symbol
>Symbol : SymbolConstructor
>iterator : symbol

            yield x => x.length
>yield x => x.length : any
>x => x.length : (x: string) => number
>x : string
>x.length : number
>x : string
>length : number
        }
    }
}, p => undefined); // T is fixed, should be string
>p => undefined : (p: number) => any
>p : number
>undefined : undefined