diff --git a/tests/baselines/reference/contextuallyTypingRestParameters.errors.txt b/tests/baselines/reference/contextuallyTypingRestParameters.errors.txt new file mode 100644 index 00000000000..369d10e88c2 --- /dev/null +++ b/tests/baselines/reference/contextuallyTypingRestParameters.errors.txt @@ -0,0 +1,16 @@ +tests/cases/compiler/contextuallyTypingRestParameters.ts(3,9): error TS2323: Type 'string[]' is not assignable to type 'string'. +tests/cases/compiler/contextuallyTypingRestParameters.ts(5,9): error TS2323: Type 'string[]' is not assignable to type 'string'. + + +==== tests/cases/compiler/contextuallyTypingRestParameters.ts (2 errors) ==== + var x: (...y: string[]) => void = function (.../*3*/y) { + var t = y; + var x2: string = t; // This should be error + ~~ +!!! error TS2323: Type 'string[]' is not assignable to type 'string'. + var x3: string[] = t; // No error + var y2: string = y; // This should be error + ~~ +!!! error TS2323: Type 'string[]' is not assignable to type 'string'. + var y3: string[] = y; // No error + }; \ No newline at end of file diff --git a/tests/baselines/reference/contextuallyTypingRestParameters.js b/tests/baselines/reference/contextuallyTypingRestParameters.js new file mode 100644 index 00000000000..17561f5d7fc --- /dev/null +++ b/tests/baselines/reference/contextuallyTypingRestParameters.js @@ -0,0 +1,21 @@ +//// [contextuallyTypingRestParameters.ts] +var x: (...y: string[]) => void = function (.../*3*/y) { + var t = y; + var x2: string = t; // This should be error + var x3: string[] = t; // No error + var y2: string = y; // This should be error + var y3: string[] = y; // No error +}; + +//// [contextuallyTypingRestParameters.js] +var x = function () { + var y = []; + for (var _i = 0; _i < arguments.length; _i++) { + y[_i - 0] = arguments[_i]; + } + var t = y; + var x2 = t; // This should be error + var x3 = t; // No error + var y2 = y; // This should be error + var y3 = y; // No error +}; diff --git a/tests/cases/compiler/contextuallyTypingRestParameters.ts b/tests/cases/compiler/contextuallyTypingRestParameters.ts new file mode 100644 index 00000000000..bad36b47db2 --- /dev/null +++ b/tests/cases/compiler/contextuallyTypingRestParameters.ts @@ -0,0 +1,7 @@ +var x: (...y: string[]) => void = function (.../*3*/y) { + var t = y; + var x2: string = t; // This should be error + var x3: string[] = t; // No error + var y2: string = y; // This should be error + var y3: string[] = y; // No error +}; \ No newline at end of file