diff --git a/src/compiler/types.ts b/src/compiler/types.ts index fb3022c5500c9..35d1e2d73e282 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -10013,7 +10013,7 @@ export const enum ListFormat { SourceFileStatements = MultiLine | NoTrailingNewLine, Decorators = MultiLine | Optional | SpaceAfterList, TypeArguments = CommaDelimited | SpaceBetweenSiblings | SingleLine | AngleBrackets | Optional, - TypeParameters = CommaDelimited | SpaceBetweenSiblings | SingleLine | AngleBrackets | Optional, + TypeParameters = CommaDelimited | SpaceBetweenSiblings | SingleLine | AngleBrackets | Optional | AllowTrailingComma, Parameters = CommaDelimited | SpaceBetweenSiblings | SingleLine | Parenthesis, IndexSignatureParameters = CommaDelimited | SpaceBetweenSiblings | SingleLine | Indented | SquareBrackets, JSDocComment = MultiLine | AsteriskDelimited, diff --git a/src/testRunner/unittests/printer.ts b/src/testRunner/unittests/printer.ts index 76f23ab692fb0..48b9009ea2116 100644 --- a/src/testRunner/unittests/printer.ts +++ b/src/testRunner/unittests/printer.ts @@ -100,6 +100,16 @@ describe("unittests:: PrinterAPI", () => { ts.ScriptKind.TSX, )); }); + + printsCorrectly("typeParameters", {}, printer => { + return printer.printFile(ts.createSourceFile( + "source.tsx", + String.raw`export const id = (id: T): T => id;`, + ts.ScriptTarget.Latest, + /*setParentNodes*/ undefined, + ts.ScriptKind.TSX, + )); + }); }); describe("No duplicate ref directives when emiting .d.ts->.d.ts", () => { diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 0a0d0a2f8dd95..42745889471f9 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -8142,7 +8142,7 @@ declare namespace ts { SourceFileStatements = 131073, Decorators = 2146305, TypeArguments = 53776, - TypeParameters = 53776, + TypeParameters = 53840, Parameters = 2576, IndexSignatureParameters = 8848, JSDocComment = 33, diff --git a/tests/baselines/reference/declarationEmitReusesLambdaParameterNodes.js b/tests/baselines/reference/declarationEmitReusesLambdaParameterNodes.js index bdc001a6ab0a6..dc41cc1e26b56 100644 --- a/tests/baselines/reference/declarationEmitReusesLambdaParameterNodes.js +++ b/tests/baselines/reference/declarationEmitReusesLambdaParameterNodes.js @@ -24,4 +24,4 @@ function CustomSelect2(x) { } //// [index.d.ts] import { Props } from "react-select"; export declare const CustomSelect1: