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

    <tr>
        <th>Summary</th>
        <td>
            Nested braced initializer lists not behaving as expected
        </td>
    </tr>

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

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

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

<pre>
    I am using clang-format and I have a particular block of code with nested braced initializers. I would like the code to look like this:

```cpp
auto test = TheThing{ 
    Arg1{ blorp, bleep, bloop, blop, blip },
    Arg2{ blorp, bleep, bloop, blop, blop, blip } };
```

Note the desired behavior:

 - When the parameter list is too long to fit on one line, each parameter is placed on its own line
 - The parameters are indented, *not* aligned
 - Each parameter contains a nested parameter list, which fits on a single line

But clang-format keeps reformatting it thusly:

```cpp
auto test = TheThing{ Arg1{ blorp, bleep, bloop, blop, blip },
                      Arg2{ blorp, bleep, bloop, blop, blop, blip } };
```

Note the undesired behavior:
- The first parameter is still on the same line as the open brace
- the parameters are aligned instead of indented


This is the clang-format settings I currently use:
```
---
BasedOnStyle: Microsoft
AccessModifierOffset: -4
AlignArrayOfStructures: Left
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: InlineOnly
AllowShortLambdasOnASingleLine: Inline
AlignTrailingComments: true
BraceWrapping:
  AfterCaseLabel: true
  AfterClass: true
  AfterControlStatement: Always
  AfterEnum: true
  AfterFunction: true
  AfterNamespace: true
  AfterStruct: true
  AfterUnion: true
  AfterExternBlock: true
  BeforeCatch: true
  BeforeElse: true
  BeforeLambdaBody: true
  BeforeWhile: true
  IndentBraces: true
  SplitEmptyFunction: false
BreakBeforeBraces: Allman
BreakConstructorInitializers: AfterColon
ColumnLimit: 120
DerivePointerAlignment: false
FixNamespaceComments: false
IncludeBlocks: Regroup
IndentWidth: 4
NamespaceIndentation: All
PointerAlignment: Left
ReferenceAlignment: Left
SortIncludes: Never
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpaceAfterTemplateKeyword: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
TabWidth: 4
UseTab: Always


AlignAfterOpenBracket: AlwaysBreak
AllowAllArgumentsOnNextLine: false
AllowAllConstructorInitializersOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
BinPackArguments: false
BinPackParameters: false
ConstructorInitializerAllOnOneLineOrOnePerLine: true
Cpp11BracedListStyle: false
SpaceBeforeCpp11BracedList: false
```

I placed the settings that *seem* like they should be the most relevant in this case at the bottom.

Is there a setting I'm missing?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8V99v6joS_mvCy4gKArT0gYdAi4SWW6oDV30ekknixbGz9qSU_etXdgiEXzorHelWVYDMN-PxN5_tMVorMkU0CUbTYPTWwYpzbSZb1nvFu6Sz1clhsgAsoLJCZRBLVFk31aZABlQJLCDHbwKEEg2LuJJoYCt1vAOdQqwTgr3gHBRZpgS2BmNKQCjBAqX4Lxn7BAvY60omIMWOgHOq3ViD1HrXvBU2GERB7y3oNc_nXv0fl2X9BivWwGQZgsEbbHLa5EJlwcsUajsAQGSyvnuzldqUQTiDrSQ6ftG6-XL8FCUEL29BOLvwD_9v_8s4PtZgepV9e0ofmmsCErLCOLoox2-hzdXUoQtfOSkPLdFgQUwGpLAMwgJrx5zKHIOpYNAKtCKQQpFLhzDOW17CQil9UbQCwRb0XtXYZqhNexQLaAiESkgxJS5eEEZKcxBGgNJJKTk5vl-OFGvFKJQFbNRwmbsLts9FnLusrUsHwWlOUiuf-jmt-FKJO6LSgqH6JzulCgbOKysPf6CbP1XL7d8_o59KPVRQXc9UGMuXKrAspHSsuwAWi5p1QOtf6JJUvXqbMHwri6MAQCjLhInbAU5KaVfAPze5sF6ubsG3a2nJF9DCAuLKGFIsD1BZOtfxcu7dbveoCrSUrNSaD9KB4S8RG211yrU5imOy9i-diFSQWaWpJXaw7vBod9lHxuBhla7ZVDFXhtyuA0s6xZBS79e5NvyuqsKuVLT2Cl06gQ4iSFFauobOKxWz0OoWvlCO45WSh2ufJRbbBB95tBLeGBRSqGymi4IU-3zZVEfI1FXsy2BZOkU3BAJEKZOZoaUlbkle-jRWidbet2jFRss1I5Mb04EiuceDvYA5hu76N3zcNX5gQbZ0Ortnrety1_S3ehTy_YfJqKk7lK7tU7dj0Aw5zu-b3qW9yaS21BWa6uRw3_6VC3njuvDLwVflhtt1KQW_FyUf2gS1FDU1hLs6-DlCJGWBqgWYaWU9S9osWsesx9bVk_qIn2lZFWopCuEp7YfHFfVGRnzTpxaKyXiVNWVuZTMXP6datcXXgixULKuEPPPe9osyo6uysTouvkTCnvvjKjzFrM3Y8BBJWQPupXVeoL8oJUMqpgf2tTZ8TMtn9EHfZI4mN2pNkd9CZmiv53yGLHUmYpQf-i6kLtInGlJ-lOsVY2-wv1Bl5DewuTZLrcu6TBcSWde0eIn42JyTpWvSPcou1O8R6_9UWEtpRze1q0F1cvf2mP5lrMhtUndjeLo2VJQSmf5Fh702yWPOZpeyfcRCDV6onIxgVE6BN8ANbq_F9belDW6v96v2sz4EXMqrktSRm7ODX2GtvTqSMjJZ5VlZqQ_64UcnQSTlg5X5W7_P0ym7St8olmj8qnjoNxXqE-PdKbH75nPUK_v9NCMpV2ql_EG0MitFn2Sasc-cz8qy3_ebU7IUlk9H8YNiX6KvgHdbnEXTrfoupekUOEd2jaglKlwn2twkDmBzf7XY1n1RoS2DIUnfqBiE8vcKiNESIHvEVjPr4uliSN-juPamGRAWQfhSQCGs9cfqvJNMBsnr4BU7NOk_j0evz6Phc9jJJ0k46o_DQX-cDMc9HPRGyRgRMRz003C0DeOOmIS9cNB77o36_eEwDJ-eh70xjkcvmA4pfe2Pg2GPChTyScrv4kmbrCOsrWjyPOj3Rx3pjm_rL29hqGgP3hiEobvLmYnz6W6rzAbDnmux7TkKC5Y0-Xh0LfMduQWl-dhCqsy1gvRTUsyUdCojJzlz6W9l4TwI55ngvNo-xboIwrkb5vjRLY3-N8UchHOfnA3CuU_-fwEAAP__1ne2wg">