File: genericCallToOverloadedMethodWithOverloadedArguments.errors.txt

package info (click to toggle)
node-typescript 5.0.4%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 459,140 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (153 lines) | stat: -rw-r--r-- 10,833 bytes parent folder | download | duplicates (4)
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
tests/cases/conformance/types/typeRelationships/typeInference/genericCallToOverloadedMethodWithOverloadedArguments.ts(23,38): error TS2345: Argument of type '{ (n: number): Promise<number>; (s: string): Promise<string>; }' is not assignable to parameter of type '(x: number) => Promise<string>'.
  Type 'Promise<number>' is not assignable to type 'Promise<string>'.
    Type 'number' is not assignable to type 'string'.
tests/cases/conformance/types/typeRelationships/typeInference/genericCallToOverloadedMethodWithOverloadedArguments.ts(52,38): error TS2769: No overload matches this call.
  Overload 1 of 2, '(cb: (x: number) => Promise<string>): Promise<string>', gave the following error.
    Argument of type '{ (n: number): Promise<number>; (s: string): Promise<string>; }' is not assignable to parameter of type '(x: number) => Promise<string>'.
      Type 'Promise<number>' is not assignable to type 'Promise<string>'.
        Type 'number' is not assignable to type 'string'.
  Overload 2 of 2, '(cb: (x: number) => Promise<string>, error?: (error: any) => Promise<string>): Promise<string>', gave the following error.
    Argument of type '{ (n: number): Promise<number>; (s: string): Promise<string>; }' is not assignable to parameter of type '(x: number) => Promise<string>'.
      Type 'Promise<number>' is not assignable to type 'Promise<string>'.
tests/cases/conformance/types/typeRelationships/typeInference/genericCallToOverloadedMethodWithOverloadedArguments.ts(68,38): error TS2769: No overload matches this call.
  Overload 1 of 3, '(cb: (x: number) => Promise<string>): Promise<string>', gave the following error.
    Argument of type '{ (n: number): Promise<number>; (s: string): Promise<string>; }' is not assignable to parameter of type '(x: number) => Promise<string>'.
      Type 'Promise<number>' is not assignable to type 'Promise<string>'.
        Type 'number' is not assignable to type 'string'.
  Overload 2 of 3, '(cb: (x: number) => Promise<string>, error?: (error: any) => Promise<string>): Promise<string>', gave the following error.
    Argument of type '{ (n: number): Promise<number>; (s: string): Promise<string>; }' is not assignable to parameter of type '(x: number) => Promise<string>'.
      Type 'Promise<number>' is not assignable to type 'Promise<string>'.
  Overload 3 of 3, '(cb: (x: number) => Promise<string>, error?: (error: any) => string, progress?: (preservation: any) => void): Promise<string>', gave the following error.
    Argument of type '{ (n: number): Promise<number>; (s: string): Promise<string>; }' is not assignable to parameter of type '(x: number) => Promise<string>'.
      Type 'Promise<number>' is not assignable to type 'Promise<string>'.
tests/cases/conformance/types/typeRelationships/typeInference/genericCallToOverloadedMethodWithOverloadedArguments.ts(84,38): error TS2769: No overload matches this call.
  Overload 1 of 2, '(cb: (x: number) => Promise<boolean>): Promise<boolean>', gave the following error.
    Argument of type '{ (n: number): Promise<number>; (s: string): Promise<string>; (b: boolean): Promise<boolean>; }' is not assignable to parameter of type '(x: number) => Promise<boolean>'.
      Type 'Promise<number>' is not assignable to type 'Promise<boolean>'.
        Type 'number' is not assignable to type 'boolean'.
  Overload 2 of 2, '(cb: (x: number) => Promise<boolean>, error?: (error: any) => Promise<boolean>): Promise<boolean>', gave the following error.
    Argument of type '{ (n: number): Promise<number>; (s: string): Promise<string>; (b: boolean): Promise<boolean>; }' is not assignable to parameter of type '(x: number) => Promise<boolean>'.
      Type 'Promise<number>' is not assignable to type 'Promise<boolean>'.


==== tests/cases/conformance/types/typeRelationships/typeInference/genericCallToOverloadedMethodWithOverloadedArguments.ts (4 errors) ====
    module m1 {
        interface Promise<T> {
            then<U>(cb: (x: T) => Promise<U>): Promise<U>;
        }
    
        declare function testFunction(n: number): Promise<number>;
    
        var numPromise: Promise<number>;
        var newPromise = numPromise.then(testFunction);
    }
    
    //////////////////////////////////////
    
    module m2 {
        interface Promise<T> {
            then<U>(cb: (x: T) => Promise<U>): Promise<U>;
        }
    
        declare function testFunction(n: number): Promise<number>;
        declare function testFunction(s: string): Promise<string>;
    
        var numPromise: Promise<number>;
        var newPromise = numPromise.then(testFunction);
                                         ~~~~~~~~~~~~
!!! error TS2345: Argument of type '{ (n: number): Promise<number>; (s: string): Promise<string>; }' is not assignable to parameter of type '(x: number) => Promise<string>'.
!!! error TS2345:   Type 'Promise<number>' is not assignable to type 'Promise<string>'.
!!! error TS2345:     Type 'number' is not assignable to type 'string'.
    }
    
    //////////////////////////////////////
    
    module m3 {
        interface Promise<T> {
            then<U>(cb: (x: T) => Promise<U>): Promise<U>;
            then<U>(cb: (x: T) => Promise<U>, error?: (error: any) => Promise<U>): Promise<U>;
        }
    
        declare function testFunction(n: number): Promise<number>;
    
        var numPromise: Promise<number>;
        var newPromise = numPromise.then(testFunction);
    }
    
    //////////////////////////////////////
    
    module m4 {
        interface Promise<T> {
            then<U>(cb: (x: T) => Promise<U>): Promise<U>;
            then<U>(cb: (x: T) => Promise<U>, error?: (error: any) => Promise<U>): Promise<U>;
        }
    
        declare function testFunction(n: number): Promise<number>;
        declare function testFunction(s: string): Promise<string>;
    
        var numPromise: Promise<number>;
        var newPromise = numPromise.then(testFunction);
                                         ~~~~~~~~~~~~
!!! error TS2769: No overload matches this call.
!!! error TS2769:   Overload 1 of 2, '(cb: (x: number) => Promise<string>): Promise<string>', gave the following error.
!!! error TS2769:     Argument of type '{ (n: number): Promise<number>; (s: string): Promise<string>; }' is not assignable to parameter of type '(x: number) => Promise<string>'.
!!! error TS2769:       Type 'Promise<number>' is not assignable to type 'Promise<string>'.
!!! error TS2769:         Type 'number' is not assignable to type 'string'.
!!! error TS2769:   Overload 2 of 2, '(cb: (x: number) => Promise<string>, error?: (error: any) => Promise<string>): Promise<string>', gave the following error.
!!! error TS2769:     Argument of type '{ (n: number): Promise<number>; (s: string): Promise<string>; }' is not assignable to parameter of type '(x: number) => Promise<string>'.
!!! error TS2769:       Type 'Promise<number>' is not assignable to type 'Promise<string>'.
    }
    
    //////////////////////////////////////
    
    module m5 {
        interface Promise<T> {
            then<U>(cb: (x: T) => Promise<U>): Promise<U>;
            then<U>(cb: (x: T) => Promise<U>, error?: (error: any) => Promise<U>): Promise<U>;
            then<U>(cb: (x: T) => Promise<U>, error?: (error: any) => U, progress?: (preservation: any) => void): Promise<U>;
        }
    
        declare function testFunction(n: number): Promise<number>;
        declare function testFunction(s: string): Promise<string>;
    
        var numPromise: Promise<number>;
        var newPromise = numPromise.then(testFunction);
                                         ~~~~~~~~~~~~
!!! error TS2769: No overload matches this call.
!!! error TS2769:   Overload 1 of 3, '(cb: (x: number) => Promise<string>): Promise<string>', gave the following error.
!!! error TS2769:     Argument of type '{ (n: number): Promise<number>; (s: string): Promise<string>; }' is not assignable to parameter of type '(x: number) => Promise<string>'.
!!! error TS2769:       Type 'Promise<number>' is not assignable to type 'Promise<string>'.
!!! error TS2769:         Type 'number' is not assignable to type 'string'.
!!! error TS2769:   Overload 2 of 3, '(cb: (x: number) => Promise<string>, error?: (error: any) => Promise<string>): Promise<string>', gave the following error.
!!! error TS2769:     Argument of type '{ (n: number): Promise<number>; (s: string): Promise<string>; }' is not assignable to parameter of type '(x: number) => Promise<string>'.
!!! error TS2769:       Type 'Promise<number>' is not assignable to type 'Promise<string>'.
!!! error TS2769:   Overload 3 of 3, '(cb: (x: number) => Promise<string>, error?: (error: any) => string, progress?: (preservation: any) => void): Promise<string>', gave the following error.
!!! error TS2769:     Argument of type '{ (n: number): Promise<number>; (s: string): Promise<string>; }' is not assignable to parameter of type '(x: number) => Promise<string>'.
!!! error TS2769:       Type 'Promise<number>' is not assignable to type 'Promise<string>'.
    }
    
    //////////////////////////////////////
    
    module m6 {
        interface Promise<T> {
            then<U>(cb: (x: T) => Promise<U>): Promise<U>;
            then<U>(cb: (x: T) => Promise<U>, error?: (error: any) => Promise<U>): Promise<U>;
        }
    
        declare function testFunction(n: number): Promise<number>;
        declare function testFunction(s: string): Promise<string>;
        declare function testFunction(b: boolean): Promise<boolean>;
    
        var numPromise: Promise<number>;
        var newPromise = numPromise.then(testFunction);
                                         ~~~~~~~~~~~~
!!! error TS2769: No overload matches this call.
!!! error TS2769:   Overload 1 of 2, '(cb: (x: number) => Promise<boolean>): Promise<boolean>', gave the following error.
!!! error TS2769:     Argument of type '{ (n: number): Promise<number>; (s: string): Promise<string>; (b: boolean): Promise<boolean>; }' is not assignable to parameter of type '(x: number) => Promise<boolean>'.
!!! error TS2769:       Type 'Promise<number>' is not assignable to type 'Promise<boolean>'.
!!! error TS2769:         Type 'number' is not assignable to type 'boolean'.
!!! error TS2769:   Overload 2 of 2, '(cb: (x: number) => Promise<boolean>, error?: (error: any) => Promise<boolean>): Promise<boolean>', gave the following error.
!!! error TS2769:     Argument of type '{ (n: number): Promise<number>; (s: string): Promise<string>; (b: boolean): Promise<boolean>; }' is not assignable to parameter of type '(x: number) => Promise<boolean>'.
!!! error TS2769:       Type 'Promise<number>' is not assignable to type 'Promise<boolean>'.
    }