diff --git a/Src/CSharpier.Tests/FormattingTests/TestFiles/TypeArgumentLists.cst b/Src/CSharpier.Tests/FormattingTests/TestFiles/TypeArgumentLists.cst new file mode 100644 index 000000000..bc1f37e65 --- /dev/null +++ b/Src/CSharpier.Tests/FormattingTests/TestFiles/TypeArgumentLists.cst @@ -0,0 +1,4 @@ +typeof(AnExceptionallyLongAndElaborateClassNameToMakeAnExampleRegardingOpenGenerics<,>).MakeGenericType( + typeof(string), + typeof(int) +); diff --git a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/TypeArgumentList.cs b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/TypeArgumentList.cs index 182d08fab..74cc2136a 100644 --- a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/TypeArgumentList.cs +++ b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/TypeArgumentList.cs @@ -5,7 +5,8 @@ internal static class TypeArgumentList public static Doc Print(TypeArgumentListSyntax node, FormattingContext context) { Doc separator = - node.Arguments.Count > 1 || node.Arguments.Any(o => o is GenericNameSyntax) + node.Arguments.FirstOrDefault() is not OmittedTypeArgumentSyntax + && (node.Arguments.Count > 1 || node.Arguments.Any(o => o is GenericNameSyntax)) ? Doc.SoftLine : Doc.Null;