diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 0b15527c062..3ac4e8e512d 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -6398,7 +6398,7 @@ namespace ts { undefined; // JS functions get a free rest parameter if they reference `arguments` let hasRestLikeParameter = hasRestParameter(declaration); - if (!hasRestLikeParameter && isInJavaScriptFile(declaration) && !hasJSDocParameterTags(declaration) && containsArgumentsReference(declaration)) { + if (!hasRestLikeParameter && isInJavaScriptFile(declaration) && containsArgumentsReference(declaration)) { hasRestLikeParameter = true; const syntheticArgsSymbol = createSymbol(SymbolFlags.Variable, "args"); syntheticArgsSymbol.type = anyArrayType; diff --git a/tests/baselines/reference/argumentsObjectCreatesRestForJs.types b/tests/baselines/reference/argumentsObjectCreatesRestForJs.types index 10596fb10c7..28cdfcda413 100644 --- a/tests/baselines/reference/argumentsObjectCreatesRestForJs.types +++ b/tests/baselines/reference/argumentsObjectCreatesRestForJs.types @@ -35,13 +35,13 @@ someRest(1, 2, 3); * @param {number} x - a thing */ function jsdocced(x) { arguments; } ->jsdocced : (x: number) => void +>jsdocced : (x: number, ...args: any[]) => void >x : number >arguments : IArguments jsdocced(1); >jsdocced(1) : void ->jsdocced : (x: number) => void +>jsdocced : (x: number, ...args: any[]) => void >1 : 1 function dontDoubleRest(x, ...y) { arguments; }