<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/63519>63519</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
With `ColumnLimit 0`, `PackConstructorInitializers: CurrentLine` does not work 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>
MattijsKneppers
</td>
</tr>
</table>
<pre>
**Steps to reproduce**
In my `.clang-format` file, I have
```
`ColumnLimit 120`
`PackConstructorInitializers: CurrentLine`
```
With this, the following code:
```
Watcher::Watcher(const fs::path& path, const WatchdogCallback& callback) : mPath(path), mCallback(callback)
```
stays unaltered.
However after changing `ColumnLimit` to 0 in `.clang-format` without any other changes results in:
```
Watcher::Watcher(const fs::path& path, const WatchdogCallback& callback) :
mPath(path),
mCallback(callback)
```
**Expected behavior**
The [documentation for ColumnLimit](https://clang.llvm.org/docs/ClangFormatStyleOptions.html#columnlimit) says:
> A column limit of `0` means that there is no column limit. In this case, clang-format will respect the input’s line breaking decisions within statements unless they contradict other rules.
For `PackConstructorInitializers: CurrentLine`, [the documentation](https://clang.llvm.org/docs/ClangFormatStyleOptions.html#packconstructorinitializers) says
> Put all constructor initializers on the current line if they fit. Otherwise, put each one on its own line.
My expectation would be that this combination of `ColumnLimit 0` and `PackConstructorInitializers: CurrentLine` means that constructor lines will always stay in a single line.
**Reproduced with**
clang-format version 16.0.6.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEVcFu4zYQ_Rr6MoggU7ZsHXTIOjEadBcbdAvsmaJGFtcUKZAjq-7XF6RsR0Z9CVCgQCBF5Mz4zXtvSOG9OhjEkq2_sPXLQgzUWld-E0Tql__dYN-j84vK1ueS8WfGn38Q9h7IgsPe2XqQOK2z9IWlz28GujOwPE2kFubw1FjXCWJ5Co3SyPgO3qAVJ4Qp_PLM08vf9XNn9dCZr6pTBEt-t_Uu5HFnjSc3SLLuzShSQqu_0XmWPcNucA4NfVUG51l39ePzp6IWqFU-gKIWobFa21GZA0hbI8seg_spSLbownZ2--BbGRBB46f1XlDLeA7TewfTboyu7WEntK6EPIYIefu_gAC_e48p2ymzCMndR_x2Fv4QnSdx9jAYoQkd1sm84d_siCd0IBpCB7IV5hCavWc7KEUWUlDmoYqjotYOBMKcwVJ7LYQeHPpBkwdl_h_qpt-ABwzedj5B5OUZnf36V4-SsIYKW3FS1s0N_2eLwNZfaiuHDg0JUtZAYx3MSV2_ML5tifrYJN8zvo_EJlqfusS6A-P72krP-H4X1veR7x901vi9DxV90lKnGc9krKpjVV6AF-fo-gvc7BWeYQqBGAO2CTKGvqBDYTxQKyjY3SEoD8behSfwZuJMgBQ-TutcfxiV1kHnQEccGWX6gdgrZ9uUFYUHrQxC5VAcg7NqlMoH8NE1yoAnQRhYChbV6AMaPAeJyYlaSbpYyg0a_Z1399bBp2ef74IyAeedOv-hGr2QR_mBR83xXNW5KfMexkZrmCXAPAOsiaTKqYuJTNVMHDVBnO-BnVFNyvQDAQrZgjUYUhV5sKOJaXfcfTsDRgdP3hztoIOVr04IYtuuUmbangwzP3-jeYSpPy3A3HHzpgNCP5lJ6DEcWOHYCieOAK_MQeO_m5hG7o_rlVNHS83n8M6oJ3TBeLDMkzTJk0VdZnWRFWKB5TLfbjabbLnaLNpSrDaY8ma1zap6U-O6yddymWWrZZE2VbpqFqrkKc_SnOdpseZ8k6CQ22Yjq2aTr1BUNVul2Amlb95ZKO8HLPNsvSwWWlSofbxbOTc4QtxknIer1pUh56kaDp6tUq08-Y8qpEhjGe-oB3JEa39WjdpiGHiC0bojCH9xBdaLwenyfh4OitqhSqTtGN8HUJfXU-_sL5TE-D62EmYktvpPAAAA__8Si649">