<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/57612>57612</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang-format] AlignOperands: AlignAfterOperator misaligns when combined with AlignConsecutiveAssignments
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
gerboengels
</td>
</tr>
</table>
<pre>
```
$ clang-format --version
clang-format version 15.0.0
```
Input/what I expect:
```
$ cat expected.cpp
auto someLongName = 3;
auto x = someLoooooooooooooooooooooooooooooooooooongExpression
| ranges::views::values;
```
What I get:
```
$ clang-format --style="{ AlignOperands: AlignAfterOperator, AlignConsecutiveAssignments: true, BreakBeforeBinaryOperators: true }" expected.cpp
auto someLongName = 3;
auto x = someLoooooooooooooooooooooooooooooooooooongExpression
| ranges::views::values;
```
So the operand after the pipe-operator gets aligned _before_ clang-format aligns the assignment of `x` with the previous assignment.
I'd expect it the other way round: first align the assignments, and then align the operands
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzNVE2PmzAQ_TXmYgWBwQEOHELSSCtV7aGHHlcGJsStwcg2-fj3tQ3ZTbar1aqnWnzOG8_MezNQy_ZaonW0HNEORRtEUtwINnSrg1Q9M3i1OoHSXA4z_oAtCI5pGIW3AI_xnoZxMojsz0fr_4ThMkJjULJ519knt36zF7RhM44zwiYjsZY9fJVD9431gFGywwlKqjv8gu-Ww-cNn1hD9-UyKtCvPPFfC2VbrCx50K78ZHPicL49MjE5c_Uuq58z9Q4-5v0oujZXAZYDIgRlFd4I3g3fR7AFtC7pbNgcDChvNVIhsp2tWzloaCbDT7CxjLqhh8H4TUZN4NwqBex3BTYZVHxg6nqL8eLl6Lrc_1Er_ln_HxKbI2A5q4eZE81bRj7CSi7UXX80Zk5AaPFz7dV5fmyLR7Xfy16UxfKAba6LPfGZm-McWsGJy0nf-YXLB4FI1i6yYm7m0uxF4TO7YiWnoXVNOHCll4Rv8mnXQUfEmoc7j4WfDqCM12tC13Ge0KAtk7ZIChYYbgSUiFb3jBDdfWa0cM_1wv3skjayr7mTyfP9YOiCSYnyaMzoG0X29ujslqkObQj7IsTpdluNSv5y_way51q7dpI9zdYxCY4lzbO8bmOW52lK0oYURRLFcZFTWmRxcsgDwWoQ2rGzMzvAGfsQ7tuhu4CXJCIkKqIsTtOE0hAiVqdpHTUZPRQ0oiiNoGdchK6OUKouUKUvqZ46bUHBtdGv4NwK8GK6-Hbgj1KVHahagp1PoQOfvvTl_wEYX7n7">