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

    <tr>
        <th>Summary</th>
        <td>
            clang-format-18 `AlignArrayOfStructures: Left` fails when encountering UTF-32 strings
        </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:
```
AlignArrayOfStructures: Left
```
And following `foo.cpp` file:
```
#include <array>
#include <list>
#include <string>

struct Language {
  std::array<char, 2> code = {};
  std::u32string name;
};

using Languages = std::list<Language>;

Languages languages = {
    Language{{'e', 'n'}, U"Test English" },
    Language{{'l', 'v'}, U"Test Latviešu"},
    Language{{'r', 'u'}, U"Test Русский" },
};
```
I expect that clang-format foo.cpp will not perform formatting, however, it does:
```
#include <array>
#include <list>
#include <string>

struct Language {
  std::array<char, 2> code = {};
  std::u32string name;
};

using Languages = std::list<Language>;

Languages languages = {
    Language{{'e', 'n'}, U"Test English"       },
    Language{{'l', 'v'}, U"Test Latviešu"     },
    Language{{'r', 'u'}, U"Test Русский"},
};
```
If I remove the UTF-32 characters, then formatting happens as expected:
```
#include <array>
#include <list>
#include <string>

struct Language {
  std::array<char, 2> code = {};
  std::u32string name;
};

using Languages = std::list<Language>;

Languages languages = {
    Language{{'e', 'n'}, U"Test English"},
    Language{{'l', 'v'}, U"Test Latvian"},
    Language{{'r', 'u'}, U"Test Russian"},
};
```

`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/eJzsVs2O2zgMfhrmIiSQKTu2Dz7kp1kUmMUC284DKJZia6FIhiRn2kuffSE5mSTTaaeHOfTQIGDikPz40fkok3uvOiNlA8Uaiu2Mj6G3rvmbu6CM_3RUztiTn-2t-Nr8pU7SkIPV2j4p0xFY0kWruenmB-uOPMCSkoPSEtgK6BboCpb0_E6XK606s3KOf_3n8Cm4sQ2jkx7YijzIQ3g9xYj7ggdrF-0wvFUKkCnT6lFIAmzDY01gH17zaeXDD1w-OGW6qzNZn4iTB266kXeSQLmeHIT4ICIftjrX27Q9d4AbgsA-kNYm1G3KKLfAvs8bGU41ieFH-RxxGz3Z0cegCwefYJ9Rpo42F2_kf599zdN3CDetkGfwxHYNWErAMjYDWJr4tdzGq0dA_Cx9IB9Mp5XvAZFMrp9A6SvU6RWoBx5OSsKmgFU2AuKbeO6KN76CB1sKKwrbDCqWbHaxFNarZKtk65fs7-78vcI-EvllkG0goeeB3I4BOWuUPCmtibGBDNJFF5n8IYoKN6S3T_Ikk0BUIMKmUfij5t9NzdPrvTX9a6DvKexf1fWBfCROHu1JktBL8vh5N2dI4p_P2yCdjwxCnx4EFzWTng-DNJ5wf54KKf5o-ffT8ruImJt3OJL_Hb3_Huknsnz-8eXCcZLOK2t-LLf8_nCezy8Zyf-4H00Y70POASSrFnRBCWAFuAZcI0WWIa1ojlgwwHVxaMulXO6Xgpfz7Jv8MmTfboJyWi8yVpSA9QtuM9EwUbOaz2STlRTrGssqn_WNoCLLJHIquMiLdpkt91SIirEcsW1rMVPNVCCrM8YYzRfsULaVoG1eZKLAagk5lUeu9ELr03FhXTdT3o-yKYsa65nme6l9WvYQ724lYlz_XBPT5vux85DTqFd_BQoqaNncZs2zKi5lbyx2cVfjSnvyFI8NaVo7miDTNJ1Pl2m2_Gx0uulDGNKTEHeAu06FftwvWnsE3EUm54_54Ox_sg2Au9SfB9ylFv8PAAD__0W-_tY">