File: callWithSpread2.errors.txt

package info (click to toggle)
node-typescript 5.0.4%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 459,116 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (82 lines) | stat: -rw-r--r-- 5,073 bytes parent folder | download | duplicates (3)
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
tests/cases/conformance/expressions/functionCalls/callWithSpread2.ts(23,13): error TS2556: A spread argument must either have a tuple type or be passed to a rest parameter.
tests/cases/conformance/expressions/functionCalls/callWithSpread2.ts(24,7): error TS2556: A spread argument must either have a tuple type or be passed to a rest parameter.
tests/cases/conformance/expressions/functionCalls/callWithSpread2.ts(27,5): error TS2345: Argument of type 'string | number' is not assignable to parameter of type 'number'.
  Type 'string' is not assignable to type 'number'.
tests/cases/conformance/expressions/functionCalls/callWithSpread2.ts(28,5): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
tests/cases/conformance/expressions/functionCalls/callWithSpread2.ts(29,13): error TS2345: Argument of type 'string | number' is not assignable to parameter of type 'number'.
  Type 'string' is not assignable to type 'number'.
tests/cases/conformance/expressions/functionCalls/callWithSpread2.ts(30,13): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
tests/cases/conformance/expressions/functionCalls/callWithSpread2.ts(31,11): error TS2345: Argument of type 'string | number' is not assignable to parameter of type 'number'.
  Type 'string' is not assignable to type 'number'.
tests/cases/conformance/expressions/functionCalls/callWithSpread2.ts(32,11): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
tests/cases/conformance/expressions/functionCalls/callWithSpread2.ts(33,8): error TS2556: A spread argument must either have a tuple type or be passed to a rest parameter.
tests/cases/conformance/expressions/functionCalls/callWithSpread2.ts(34,8): error TS2556: A spread argument must either have a tuple type or be passed to a rest parameter.
tests/cases/conformance/expressions/functionCalls/callWithSpread2.ts(35,8): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'.
tests/cases/conformance/expressions/functionCalls/callWithSpread2.ts(36,14): error TS2556: A spread argument must either have a tuple type or be passed to a rest parameter.


==== tests/cases/conformance/expressions/functionCalls/callWithSpread2.ts (12 errors) ====
    declare function all(a?: number, b?: number): void;
    declare function weird(a?: number | string, b?: number | string): void;
    declare function prefix(s: string, a?: number, b?: number): void;
    declare function rest(s: string, a?: number, b?: number,  ...rest: number[]): void;
    declare function normal(s: string): void;
    declare function thunk(): string;
    declare function prefix2(s: string, n: number, a?: number, b?: number): void;
    
    declare var ns: number[];
    declare var mixed: (number | string)[];
    declare var tuple: [number, string];
    
    // good
    all(...ns)
    weird(...ns)
    weird(...mixed)
    weird(...tuple)
    prefix("a", ...ns)
    rest("d", ...ns)
    
    
    // extra arguments
    normal("g", ...ns)
                ~~~~~
!!! error TS2556: A spread argument must either have a tuple type or be passed to a rest parameter.
    thunk(...ns)
          ~~~~~
!!! error TS2556: A spread argument must either have a tuple type or be passed to a rest parameter.
    
    // bad
    all(...mixed)
        ~~~~~~~~
!!! error TS2345: Argument of type 'string | number' is not assignable to parameter of type 'number'.
!!! error TS2345:   Type 'string' is not assignable to type 'number'.
    all(...tuple)
        ~~~~~~~~
!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
    prefix("b", ...mixed)
                ~~~~~~~~
!!! error TS2345: Argument of type 'string | number' is not assignable to parameter of type 'number'.
!!! error TS2345:   Type 'string' is not assignable to type 'number'.
    prefix("c", ...tuple)
                ~~~~~~~~
!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
    rest("e", ...mixed)
              ~~~~~~~~
!!! error TS2345: Argument of type 'string | number' is not assignable to parameter of type 'number'.
!!! error TS2345:   Type 'string' is not assignable to type 'number'.
    rest("f", ...tuple)
              ~~~~~~~~
!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
    prefix(...ns) // required parameters are required
           ~~~~~
!!! error TS2556: A spread argument must either have a tuple type or be passed to a rest parameter.
    prefix(...mixed)
           ~~~~~~~~
!!! error TS2556: A spread argument must either have a tuple type or be passed to a rest parameter.
    prefix(...tuple)
           ~~~~~~~~
!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'.
    prefix2("g", ...ns);
                 ~~~~~
!!! error TS2556: A spread argument must either have a tuple type or be passed to a rest parameter.