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

    <tr>
        <th>Summary</th>
        <td>
            clang-format-18 `AlignArrayOfStructures: Left` breaks braced initializer list
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang-format
      </td>
    </tr>

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

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

<pre>
    Given following `.clang-format` file:
```.yaml
AlignArrayOfStructures: Left
ColumnLimit: 0
Cpp11BracedListStyle: false
IndentWidth: 4
```
And following `foo.cpp` file:
```cpp
#include <list>
#include <string>

enum Code {
    X,
    Y,
 Z
};

struct Entry {
    std::string data;
    Code code;
};

struct Message {
    Code code;
    Entry entry;
};

using Messages = std::list<Message>;

static const auto messages = Messages{
    {
        Code::X,
        {
 "data1",
            Code::Y,
        },
    },
    {
 Code::Y,
        {
            "data1",
 Code::Z,
        },
    },
};

using Entries = std::list<Entry>;

static const Entries entry = {
    { "data", Code::X },
    { "data1",  Code::Y },
    { "data12", Code::Z },
};
```
I expect that `clang-format foo.cpp` will not perform formatting, however, it does and breaks initializer list of `Messages`:
```cpp
#include <list>
#include <string>

enum Code {
    X,
    Y,
    Z
};

struct Entry {
 std::string data;
    Code code;
};

struct Message {
    Code code;
    Entry entry;
};

using Messages = std::list<Message>;

static const auto messages = Messages{
 {
     Code::X,
     {
            "data1",
 Code::Y,
        },
     },
    {
     Code::Y,
     {
 "data1",
            Code::Z,
        },
 },
};

using Entries = std::list<Entry>;

static const Entries entry = {
    { "data",   Code::X },
    { "data1",  Code::Y },
 { "data12", Code::Z },
};
```
If `AlignArrayOfStructures: Left` gets commented out, the formatting for `messages` works as expected, but the list of `Entries` is not aligned anymore:
```cpp
#include <list>
#include <string>

enum Code {
    X,
    Y,
 Z
};

struct Entry {
    std::string data;
    Code code;
};

struct Message {
    Code code;
    Entry entry;
};

using Messages = std::list<Message>;

static const auto messages = Messages{
    {
        Code::X,
        {
 "data1",
            Code::Y,
        },
    },
    {
 Code::Y,
        {
            "data1",
 Code::Z,
        },
    },
};

using Entries = std::list<Entry>;

static const Entries entry = {
    { "data", Code::X },
    { "data1", Code::Y },
    { "data12", Code::Z },
};
```
`clang-format`  version:
```
$ clang-format --version
Ubuntu clang-format version 18.0.0 (++20231208042253+5fc76e6b6da7-1~exp1~20231208042409.1357)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsV01v2zgQ_TX0ZWCDoizJOejgj2RRIMUegsVuc6PEkc0tRRokldR76G9fUJJjy46dbVEsiiJA4JicmTePM-LziDsn1xoxJ8mCJKsRb_zG2Pwjt15q91BLq82TGxVG7PLf5BNqqIxS5lnqNZCUTkrF9XpcGVtzT1IKlVRI4jmhK0LnJKXd32THa9XtzZVc67m1fPd79eBtU_rGoiPxHO6x8p3P0qim1veylj4YaL-73UbRwvISxb10_sHv2lRQceWwc_mgBWr_pxR-EyzTExo9Ay2Gh6iMmZTb7WX6wdjtsFjqUjUCgcRLJZ0n8e1rJuet1OuDsf1E3dSwNMEjW3RbAAB_EbY8rD4dVo99cLYi8eIYyLV1g1vt7W6I5bwI9ON5RwAE9_wlODi06Usj8AB5Cf4jOsfXJ2TP48NuxwTD5xXcxgVKPawDEq8OfLtaLntjKNwpJ-5lCaXRzgNvvIH6GGcPOuA6WOzJd-mGNR86E8ZC2SLC2JnXEOXTKyirwd75ep_lOsriPO2rtA4oj9_E5VJzQiPlhd7cdu292pl9PHaPZryC047sz9Ed47glrxXr5NSD4l_1Z2f4j5cLMNSHD4Bftlh68Bvugz4caxwcicWzVAq08bBFG6zQufhw89kSNuYZn9CGr9KDMOiAawGFRf7ZgdTSS67kP2ghFBhMFXK9PMgp_Wl0COCbpehdh17UZHCXLyrQ91z5t-Xniv5cVbLvEcM3BOinVB_4cfrzo8SnVYE3hqSUwhq9g9LUNWqPAkzjQ0K_wSMRCl8DWn3QFHg29rMD7nqNQxHCisa3oUc61JcyhEjXihwPnFAA17va2Pcp6ZdQp_cp6Veckv6HIelkLAo6AU9onTT6XBn2d38Kg1FqPN5HtPY_ikb7ZujSO0A0m9AJBcJmhC0IWzDK4ojRGZ0ylsSELZKqzFJMi1TwbBx9xS_b6OuR05TeTKI4yQi7OeE2EnksbuIbPsI8yuiU0SSi0WiTT4WI40RkVXKTYMwyztgsiQteiaqoZogjmTPKpjSiLJpGMxZNKprEUcrTshIchYjIlGLNpZoo9VRPjF2PpHMN5lmaRdlI8QKVa9-7GRvUkrHwJm7zEDYumrUjUxqeLncA8tIrzI-jxtHsv_1y9PNn0b5In42ho8aqfOP9NsQQdkfY3Vr6TVNMSlMTdhcY9P_GW2v-xtITdteeyxF21x7t3wAAAP__NyNZHw">