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
|
=== tests/cases/conformance/expressions/functionCalls/callWithSpread3.ts ===
declare const s2: [string, string];
>s2 : Symbol(s2, Decl(callWithSpread3.ts, 0, 13))
declare const s3: [string, string, string];
>s3 : Symbol(s3, Decl(callWithSpread3.ts, 1, 13))
declare const s2_: [string, string, ...string[]];
>s2_ : Symbol(s2_, Decl(callWithSpread3.ts, 2, 13))
declare const s_: string[];
>s_ : Symbol(s_, Decl(callWithSpread3.ts, 3, 13))
declare const n_: number[];
>n_ : Symbol(n_, Decl(callWithSpread3.ts, 4, 13))
declare const s2n_: [string, string, ...number[]];
>s2n_ : Symbol(s2n_, Decl(callWithSpread3.ts, 5, 13))
declare function fs2(a: string, b: string): void;
>fs2 : Symbol(fs2, Decl(callWithSpread3.ts, 5, 50))
>a : Symbol(a, Decl(callWithSpread3.ts, 7, 21))
>b : Symbol(b, Decl(callWithSpread3.ts, 7, 31))
declare function fs2_(a: string, b: string, ...c: string[]): void;
>fs2_ : Symbol(fs2_, Decl(callWithSpread3.ts, 7, 49))
>a : Symbol(a, Decl(callWithSpread3.ts, 8, 22))
>b : Symbol(b, Decl(callWithSpread3.ts, 8, 32))
>c : Symbol(c, Decl(callWithSpread3.ts, 8, 43))
declare function fs2n_(a: string, b: string, ...c: number[]): void;
>fs2n_ : Symbol(fs2n_, Decl(callWithSpread3.ts, 8, 66))
>a : Symbol(a, Decl(callWithSpread3.ts, 9, 23))
>b : Symbol(b, Decl(callWithSpread3.ts, 9, 33))
>c : Symbol(c, Decl(callWithSpread3.ts, 9, 44))
declare function fs5(a: string, b: string, c: string, d: string, e: string): void;
>fs5 : Symbol(fs5, Decl(callWithSpread3.ts, 9, 67))
>a : Symbol(a, Decl(callWithSpread3.ts, 10, 21))
>b : Symbol(b, Decl(callWithSpread3.ts, 10, 31))
>c : Symbol(c, Decl(callWithSpread3.ts, 10, 42))
>d : Symbol(d, Decl(callWithSpread3.ts, 10, 53))
>e : Symbol(e, Decl(callWithSpread3.ts, 10, 64))
// error
fs2('a', ...s2); // error on ...s2
>fs2 : Symbol(fs2, Decl(callWithSpread3.ts, 5, 50))
>s2 : Symbol(s2, Decl(callWithSpread3.ts, 0, 13))
fs2('a', 'b', 'c', ...s2); // error on 'c' and ...s2
>fs2 : Symbol(fs2, Decl(callWithSpread3.ts, 5, 50))
>s2 : Symbol(s2, Decl(callWithSpread3.ts, 0, 13))
fs2('a', 'b', ...s2, 'c'); // error on ...s2 and 'c'
>fs2 : Symbol(fs2, Decl(callWithSpread3.ts, 5, 50))
>s2 : Symbol(s2, Decl(callWithSpread3.ts, 0, 13))
fs2('a', 'b', 'c', ...s2, 'd'); // error on 'c', ...s2 and 'd'
>fs2 : Symbol(fs2, Decl(callWithSpread3.ts, 5, 50))
>s2 : Symbol(s2, Decl(callWithSpread3.ts, 0, 13))
fs2(...s2, 'a'); // error on 'a'
>fs2 : Symbol(fs2, Decl(callWithSpread3.ts, 5, 50))
>s2 : Symbol(s2, Decl(callWithSpread3.ts, 0, 13))
fs2(...s3); // error on ...s3
>fs2 : Symbol(fs2, Decl(callWithSpread3.ts, 5, 50))
>s3 : Symbol(s3, Decl(callWithSpread3.ts, 1, 13))
fs2_(...s_); // error on ...s_
>fs2_ : Symbol(fs2_, Decl(callWithSpread3.ts, 7, 49))
>s_ : Symbol(s_, Decl(callWithSpread3.ts, 3, 13))
fs2_(...s2n_); // error on ...s2n_
>fs2_ : Symbol(fs2_, Decl(callWithSpread3.ts, 7, 49))
>s2n_ : Symbol(s2n_, Decl(callWithSpread3.ts, 5, 13))
fs2_(...s_, ...s_); // error on ...s_
>fs2_ : Symbol(fs2_, Decl(callWithSpread3.ts, 7, 49))
>s_ : Symbol(s_, Decl(callWithSpread3.ts, 3, 13))
>s_ : Symbol(s_, Decl(callWithSpread3.ts, 3, 13))
fs2_(...s_, ...s_, ...s_); // error on ...s_
>fs2_ : Symbol(fs2_, Decl(callWithSpread3.ts, 7, 49))
>s_ : Symbol(s_, Decl(callWithSpread3.ts, 3, 13))
>s_ : Symbol(s_, Decl(callWithSpread3.ts, 3, 13))
>s_ : Symbol(s_, Decl(callWithSpread3.ts, 3, 13))
// fs2n_(...s2, ...s_); // FIXME: should be a type error
fs2n_(...s2_); // error on ...s2_
>fs2n_ : Symbol(fs2n_, Decl(callWithSpread3.ts, 8, 66))
>s2_ : Symbol(s2_, Decl(callWithSpread3.ts, 2, 13))
// ok
fs2_(...s2_);
>fs2_ : Symbol(fs2_, Decl(callWithSpread3.ts, 7, 49))
>s2_ : Symbol(s2_, Decl(callWithSpread3.ts, 2, 13))
fs2_(...s2_, ...s_);
>fs2_ : Symbol(fs2_, Decl(callWithSpread3.ts, 7, 49))
>s2_ : Symbol(s2_, Decl(callWithSpread3.ts, 2, 13))
>s_ : Symbol(s_, Decl(callWithSpread3.ts, 3, 13))
fs2_(...s2_, ...s2_);
>fs2_ : Symbol(fs2_, Decl(callWithSpread3.ts, 7, 49))
>s2_ : Symbol(s2_, Decl(callWithSpread3.ts, 2, 13))
>s2_ : Symbol(s2_, Decl(callWithSpread3.ts, 2, 13))
fs2_(...s_, ...s2_);
>fs2_ : Symbol(fs2_, Decl(callWithSpread3.ts, 7, 49))
>s_ : Symbol(s_, Decl(callWithSpread3.ts, 3, 13))
>s2_ : Symbol(s2_, Decl(callWithSpread3.ts, 2, 13))
fs2n_(...s2n_);
>fs2n_ : Symbol(fs2n_, Decl(callWithSpread3.ts, 8, 66))
>s2n_ : Symbol(s2n_, Decl(callWithSpread3.ts, 5, 13))
fs2n_(...s2);
>fs2n_ : Symbol(fs2n_, Decl(callWithSpread3.ts, 8, 66))
>s2 : Symbol(s2, Decl(callWithSpread3.ts, 0, 13))
// fs2n_(...s2, ...n_); // FIXME: should compile
fs5(...s2, "foo", ...s2);
>fs5 : Symbol(fs5, Decl(callWithSpread3.ts, 9, 67))
>s2 : Symbol(s2, Decl(callWithSpread3.ts, 0, 13))
>s2 : Symbol(s2, Decl(callWithSpread3.ts, 0, 13))
|