<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/61956>61956</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [clang-format] [Bug] Places parameters of record class on new line
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          StrangeRanger
      </td>
    </tr>
</table>

<pre>
    I think this is a bug, but I'm not 100% sure. When using `clang-format` using the Microsoft style for CSharp, it turns the following

```cs
public record class Book(string Title, string Author, string ISBN);
```

into

```cs
public record class Book
(string Title, string Author, string ISBN);
```

Maybe I'm just not seeing the option that prevents `clang-format` from putting the parameters on a different line for a record class, but I'm pretty sure it's a bug.

```
---
Language:        CSharp
# BasedOnStyle: Microsoft
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignArrayOfStructures: None
AlignConsecutiveAssignments:
 Enabled:         false
  AcrossEmptyLines: false
  AcrossComments: false
  AlignCompound:   false
  PadOperators: true
AlignConsecutiveBitFields:
  Enabled:         false
 AcrossEmptyLines: false
  AcrossComments:  false
  AlignCompound: false
  PadOperators:    false
AlignConsecutiveDeclarations:
 Enabled:         false
  AcrossEmptyLines: false
  AcrossComments: false
  AlignCompound:   false
  PadOperators: false
AlignConsecutiveMacros:
  Enabled:         false
 AcrossEmptyLines: false
  AcrossComments:  false
  AlignCompound: false
  PadOperators:    false
AlignEscapedNewlines: Right
AlignOperands:   Align
AlignTrailingComments:
  Kind: Always
  OverEmptyLines:  0
AllowAllArgumentsOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: MultiLine
AttributeMacros:
 - __capability
BinPackArguments: true
BinPackParameters: true
BitFieldColonSpacing: Both
BraceWrapping:
  AfterCaseLabel: false
  AfterClass:      true
  AfterControlStatement: Always
 AfterEnum:       true
  AfterExternBlock: true
  AfterFunction: true
  AfterNamespace:  true
  AfterObjCDeclaration: true
 AfterStruct:     true
  AfterUnion:      false
  BeforeCatch: true
  BeforeElse:      true
  BeforeLambdaBody: false
 BeforeWhile:     false
  IndentBraces:    false
  SplitEmptyFunction: true
  SplitEmptyRecord: true
  SplitEmptyNamespace: true
BreakAfterAttributes: Never
BreakAfterJavaFieldAnnotations: false
BreakArrays:     true
BreakBeforeBinaryOperators: None
BreakBeforeConceptDeclarations: Always
BreakBeforeBraces: Custom
BreakBeforeInlineASMColon: OnlyMultiline
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeColon
BreakInheritanceList: BeforeColon
BreakStringLiterals: true
ColumnLimit: 100
CommentPragmas:  '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat:   false
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: LogicalBlock
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
  - foreach
  - Q_FOREACH
  - BOOST_FOREACH
IfMacros:
  - KJ_IF_MAYBE
IncludeBlocks:   Preserve
IncludeCategories:
  - Regex: '^"(llvm|llvm-c|clang|clang-c)/'
    Priority:        2
 SortPriority:    0
    CaseSensitive:   false
  - Regex: '^(<|"(gtest|gmock|isl|json)/)'
    Priority:        3
 SortPriority:    0
    CaseSensitive:   false
  - Regex: '.*'
    Priority:        1
    SortPriority:    0
 CaseSensitive:   false
IncludeIsMainRegex: '(Test)?$'
IncludeIsMainSourceRegex: ''
IndentAccessModifiers: false
IndentCaseBlocks: false
IndentCaseLabels: false
IndentExternBlock: AfterExternBlock
IndentGotoLabels: true
IndentPPDirectives: None
IndentRequiresClause: true
IndentWidth:     4
IndentWrappedFunctionNames: false
InsertBraces:    false
InsertNewlineAtEOF: false
InsertTrailingCommas: None
IntegerLiteralSeparator:
  Binary: 0
  Decimal:         0
  Hex: 0
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: true
LambdaBodyIndentation: Signature
LineEnding:      DeriveLF
MacroBlockBegin: ''
MacroBlockEnd:   ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 2
ObjCBreakBeforeNestedBlockParam: true
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PackConstructorInitializers: BinPack
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakOpenParenthesis: 0
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyIndentedWhitespace: 0
PenaltyReturnTypeOnItsOwnLine: 1000
PointerAlignment: Right
PPIndentWidth:   -1
QualifierAlignment: Leave
ReferenceAlignment: Pointer
ReflowComments: true
RemoveBracesLLVM: false
RemoveSemicolon: false
RequiresClausePosition: OwnLine
RequiresExpressionIndentation: OuterScope
SeparateDefinitionBlocks: Leave
ShortNamespaceLines: 1
SortIncludes:    CaseSensitive
SortJavaStaticImport: Before
SortUsingDeclarations: LexicographicNumeric
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceAroundPointerQualifiers: Default
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeParensOptions:
  AfterControlStatements: true
  AfterForeachMacros: true
  AfterFunctionDefinitionName: false
  AfterFunctionDeclarationName: false
  AfterIfMacros:   true
 AfterOverloadedOperator: false
  AfterRequiresInClause: false
 AfterRequiresInExpression: false
  BeforeNonEmptyParentheses: false
SpaceBeforeRangeBasedForLoopColon: true
SpaceBeforeSquareBrackets: false
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles:  Never
SpacesInConditionalStatement: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInLineCommentPrefix:
  Minimum:         1
  Maximum: -1
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard:        Latest
StatementAttributeLikeMacros:
  - Q_EMIT
StatementMacros:
  - Q_UNUSED
  - QT_REQUIRE_VERSION
TabWidth:        4
UseTab: Never
WhitespaceSensitiveMacros:
  - BOOST_PP_STRINGIZE
  - CF_SWIFT_NAME
  - NS_SWIFT_NAME
  - PP_STRINGIZE
  - STRINGIZE
...

```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUWltT67iT_zTmxQUVHMLlgYfEJDOZE5KcOAw1-0IpctvRQZY8kgxkP_2WJFu-AlNTu1X7T53Dxf2TutXqu0FSkpQB3HuTmTd5OEOFOnJxHymBWAo7_UWcHXh8ul_66kjYq_4qfSJ95B-K1AtC_1Aof-kFN5nPuPIvRyMvmPiyEHDhPx-B-YUkLPW96xGmiKXnCRcZUt71qCSoI_iPBAsueaJ8qU4U_IQLP4yOSOSaAVG-KgSTBppwSvk7Yak3evBG0_Lr9cj-w9I-yIsDJdgXgLmIfUyRlP6M81cvuJVKaLZ7oijo3cvfp-bgjQfLaLb2gjtvPOvwaDImTPF_J4iF_y-L84hOBygv41chlbkRCVDpmeeKcOarI1J-LuANmJJDN5MInvl5oVS1MEcCZaBASJ8zH_kxSRIQwJRPCbP3hVqHbBtGLkCpkzEKnygvuCnN52JQd_bX8_Nz-8MKsbRAKXjjqV9-StsodTj2Z0hCvGGRNh4Nc_ZkIVOMQcpHHpOEgNgkiQSlYedBSackZdNEgdjkwGYC4VcLMIQmRgh02iSREgVWhQCpQWvOoIEJOZOAC0XeYGqcK9Na9sblKf05QwcKceM0foKoLLfw_akWXc6zXJ1WhFkWA4CQZ9XGHbIVIst5wUouLfoWxZscBFJcmMVKFJ-IPyNqQYDGDeG_k_5fCP-N9F_K3ubelf8BMEUCaZP_f6z_Lw7wiDSr_yTtzyVGOcRreKeVADuSHlUDYrZgcblD18P2AhFKWNqQsWL_g1iZpvQdnWT1dPMGon1if1TtR_n7lNKpSAuz14at4UNpXNfuLXDrgtwmadjOl8uiIxdqRjl-lRs2jQhLKVTQNbyB6GJDJGGFDkD7-JYyK_ycFdk_hC4Kho2x9yVphKgKvUwihRSUmvknoq9QdohRHzyltAflPP9Gan2JMwHo1QTeB0gII1r6Hehkvz_lPcnbK_4BbgYJF_BYUKVtCiKTSftO5_B7yHKKVDdw-GYHcwi7QilBDoXq-ee5__KCUY4OhBJ1sg9nhG0RfnVG2LahklpbXpdsI3DIKWdRjrCue8ZTf8bVsUQIhOFZoDy3JOfJWkXO1vqBwJBNoq5iSc21InOmBKfOSnq-Z1DaPut41Ntk_qFAMOMg7aOV9MpmB4lrlIHMEbapv0feHH6FjavqbGEgNlNX8vV2eGLlun4asLYTIoWPXdksaa7BQ8qzZOssMx6fusq39OcjoW59i_OSxcCUudiBMOv7UU6JMiHvM-XViJ0pyT6ntzTcsDvnZc7WZScs1JA_0BsyVjpljKvaaxpCW7AunmT_LhquOiMMiVMrydSO3cCFnGHIVddPm9bZ3NWpMiyk4lkPsGQ6PEyjR-NnGrhh9OTiRg-_B9GTs3MencWN7XGx1HENUfLfpXtXR9Cs6gVLdgRBFGIYVkSqz4E2iq2IAoFoh3XIaZGxFcmI2UD3YuVzk023AqUZslfgBTfeZO4vn_968nPzXEeP4MYtyBFWzjy6Fzp8PGu5zyRWxmeuHFYRVphr-gSR55eX5pZifXZXxtcHewBB3mDLCdM2ScuquiPUA5G6PFrYNqZbebkiwdp1qyXo2LaD2hvoY1c8JRhRG9bsko8cBNFCITotFH8ABViV4b2M2g1hFuTD6bZZjtUnXnAxR_jYKwHPdbMFCB_rBz9fFpvdfBr-Xj-abTbRvv14mQzs9eOPl-Xi5XH612xeohimRQy2orE63AqQIN6gBQiRgpQLAu39dpDCh15mzcsLAi-4pfQt825C_e0cezeh6Tar7-dYd7XBwpmeb1gSLnQKrQvdslXzIy5UhzyqF-qMFwGTRJfPA8X3gIS33jj0bkIraqpAKu8mTDN9szchkdS7CX9Jziop774TdPx_IOiFF0y_43tZU79g_TXf8nKX8hER1tJUcLvXmgnuvPHCC66cMK0VES8EhvY6h9OO3_akblCxGC1hbX6DZFs_D5I79UavBmlAf-OK1zvVnmep2-0DEYC1mjp5yNJ38HdBBMiQokLC0A4uyunPVYui6zWIq_RtIkHvNBLEp0WApZZd1lTNN4vB5c1mCvVOoSAFUeaRCHJkclnDm20y1quc3T4AJhmizf7T0X63l17-rouCCAuSq58FL6uHFaAqitRkrYtllnPRDYA_APK6sZuq_REihYTaJLV11Oi63LIqdhVhRFKGVCEqHGEwZ3EZkc3H5pbVwgJMkDQcZpAS1rXjmjyvuvs2-aOWec_1GUwitlQX8jsy1reiS9qqJxBcccxpVQ3orNIAaRE6dhY0yHWxsgapIDZ402a09abBurGwWXEreA5CdUtWB7I7diWrd9Nyf1X52JOVWGCIqpMtDd2grHGOJsAyXhAhVYganbpR7l0fX-ZUTR5XRVCTbnZagZT6v9kkGEBtcmBbJICpI0giG-bdRNmCrKy3BugDXaUFt6DzDx0awyMSCFcHG5lPC2avHOLnI1F15d7G1J3xhi2V3LyzqgFvCDhQSjUmNdttL4adl0b8s0DUhO_W2oZv78CMhjG0ACVDB6H8fbjw2UHG38qafbX687Fji5YcQUZwVay3qM2ovOWSVOqutNCCzT9yAVK6wtRdzqbQzSPmebmgjI9QjynqINQ4upl9OC93E6lSczotl_myiuntdOxQJjxqabANjXU3UGOeJGFptwNawQfBPBUoPxK8LjIQBJdLnJOHpr4OkezWzzWkrG_X_HNIZdU_4PTeazEtTPCCxeW9O6sxYj5AggqqGuCy0nZx4JPeqoHVqgsHTKAJafcVXwDbwcptO8i40al9DTShw_adnVGK_AS7yTvD6uFJjBwepdi-wFX5nw9baivWtjo8HKqxzsI-Bzd6i_YwxM5p3kBQjmJw4-PhXSqvXLK6qGqNt9ug2nl725WZjzOTjF0I71VZjQswrzrNe6QFFyvO86_vNvq7QHay8Aq9lwCRzfGGuStFP6F_I5wsJw79sbiLKga2ZFOW0jKuNFrZihpyFpsbR-2BXo-fgSpEmKsNh1xQw1wY-e4ISxN53QwCEvLRsPBHwkjWnCE2WplH9FHRzjvH_Z7p11ekEIuRaL5KWSHT_FVkqyM3_1qR1_77GN17zx-X-86iQdzT-imaPzSe7F92859Py9385c_5Llpu1pa2R4dW51A3D08S9ujQmVXUhYDLIwPs7Txgu32J9rvl-rflf81rWrh4iZ6Xi_3LevrYeLyOBh8P79F5dHEx_Gb3LL4fx3fjO3QG95fXt6ObYHR7PTo73l8lk3EwGY8PySi4w8lkjO5G1xN0i-LgNgkQPiP3wSgYj65Gk8vbyVUwuria4MMhvrm9mhyuDjFOvKsRZIjQC0rfsgsu0jMiZQH315d3k-szavo880cOQcDg3TdE3fNPHs7EvRlNHIpUelcjSqSS9S6KKGr-OqL1jnzy4HuT2axI9U9bqg2u9Y48ab_x58zXTHW3dlYIen9UKjcXFCy8YJESdSwOF5hnXrAwwxL77TwX_Bdg5QULI670goU5zv8EAAD__6gv4Mw">