File: genericInterfaceTypeCall.types

package info (click to toggle)
node-typescript 2.1.5-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 203,952 kB
  • ctags: 52,987
  • sloc: sh: 11; makefile: 5
file content (60 lines) | stat: -rw-r--r-- 1,483 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
48
49
50
51
52
53
54
55
56
57
58
59
60
=== tests/cases/compiler/genericInterfaceTypeCall.ts ===
interface Foo<T> {
>Foo : Foo<T>
>T : T

    reject(arg: T): void;
>reject : (arg: T) => void
>arg : T
>T : T
}
var foo: Foo<string>
>foo : Foo<string>
>Foo : Foo<T>
 
interface bar<T> {
>bar : bar<T>
>T : T

    fail(func: (arg: T) => void ): void;
>fail : (func: (arg: T) => void) => void
>func : (arg: T) => void
>arg : T
>T : T

    fail2(func2: { (arg: T): void; }): void;
>fail2 : (func2: (arg: T) => void) => void
>func2 : (arg: T) => void
>arg : T
>T : T
}
var test: bar<string>;
>test : bar<string>
>bar : bar<T>
 
test.fail(arg => foo.reject(arg));
>test.fail(arg => foo.reject(arg)) : void
>test.fail : (func: (arg: string) => void) => void
>test : bar<string>
>fail : (func: (arg: string) => void) => void
>arg => foo.reject(arg) : (arg: string) => void
>arg : string
>foo.reject(arg) : void
>foo.reject : (arg: string) => void
>foo : Foo<string>
>reject : (arg: string) => void
>arg : string

test.fail2(arg => foo.reject(arg)); // Error: Supplied parameters do not match any signature of call target
>test.fail2(arg => foo.reject(arg)) : void
>test.fail2 : (func2: (arg: string) => void) => void
>test : bar<string>
>fail2 : (func2: (arg: string) => void) => void
>arg => foo.reject(arg) : (arg: string) => void
>arg : string
>foo.reject(arg) : void
>foo.reject : (arg: string) => void
>foo : Foo<string>
>reject : (arg: string) => void
>arg : string