diff --git a/tests/cases/conformance/es6/restParameters/readonlyRestParameters.ts b/tests/cases/conformance/es6/restParameters/readonlyRestParameters.ts new file mode 100644 index 00000000000..99b939dfd57 --- /dev/null +++ b/tests/cases/conformance/es6/restParameters/readonlyRestParameters.ts @@ -0,0 +1,29 @@ +// @strict: true +// @declaration: true + +function f0(a: string, b: string) { + f0(a, b); + f1(a, b); + f2(a, b); +} + +function f1(...args: readonly string[]) { + f0(...args); // Error + f1('abc', 'def'); + f1('abc', ...args); + f1(...args); +} + +function f2(...args: readonly [string, string]) { + f0(...args); + f1('abc', 'def'); + f1('abc', ...args); + f1(...args); + f2('abc', 'def'); + f2('abc', ...args); // Error + f2(...args); +} + +function f4(...args: readonly string[]) { + args[0] = 'abc'; // Error +}