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

    <tr>
        <th>Summary</th>
        <td>
            clang-format produces unnecessary spacing around template angle brackets for class member function calls.
        </td>
    </tr>

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

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

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

<pre>
    Given

```cpp
int foo() {
  return bar()->baz<1 | 2>(1);
}
```

clang-format returns

```cpp
int foo() { return bar()->baz < 1 | 2 > (1); }
```

which has unnecessary spacing around the two angle brackets.

Things that are required to trigger this issue:

* Certain operators in the template parameter list trigger this issue (e.g. `|`, `&&`, and `&` work, but `+` doesn't)
* The `return` statement is required.
* There must be a parameter in the method call.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMU9FuozAQ_BrzsgoyNoHkgYc0be4H-gMLLOCrsTl7adV-_ckhvbZS73TSCuRlPZ4ZxhijGR1RI_Z3Yn-f4cqTDw1adG8T-iJrff_a_DDP5IQ8parkVt2yCHkyjmHwXqiDUEcQ9Z2QJ4BAvAYHLYbtw07ohxbfhD4XIOozKKEfhDoUQh2FTltEff8Zezuqs-jG3eDDjHyDjP9H4m8EQOgz3CiA0A_wQQK-pfAymW6CCSOszlFHMWJ4hbhgZ9wIGPzqeuCJgF88oBstQRuweyKO-YbwOBk3RuAJGTAQBPq1mkA9sAcOZhwpAE8mgolxJaFPN4XqBGcKjMaBXygg-xDBuO0wmheLTLBgwJmYAlgT-Ru8JJDyMYekqD6npzpfF6pKta3R9e-9SsKLD0-p2668de9St_cUnVA1J7s2fo8TpYHN6zQTGZlmcgwm_hGaf0wHgnmNDC0BfuJ-UzUTT76HDq3Ns77R_VEfMaOmqHV1PJS1ltnUtGU3HIZB9m2BhaxR73GQasCW-iPWJWamUVLtZVHslS73WuZlKeuq1lVVlahU14pS0ozG5tY-z7kPY3Z1qimULsoys9iSjdfroNSWQDb9q1AqXY_QpF27dh2jKGUyPX7gsGFLzZfULsH3a0f_js_73_yaHxh8gM5ijDDT3FKAYXUdG--uFsU8W4NtJuYlptSoi1CX0fC0tnnnZ6EuidfttVuC_0kdC3W5io1CXW56nxv1OwAA__9vvj3s">