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

    <tr>
        <th>Summary</th>
        <td>
            [clang-format] angle bracket in requires clause is treated as 'less' in a specific case
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    Input:
```cpp
template <class T, class V>
concept C2 = true;
template <class T> struct C {};

class X {
  template <typename T>
  requires C2<C<T>, const T *> void f() {}
};
```
Output:
```cpp
template <class T, class V>
concept C2 = true;
template <class T> struct C {};

class X {
  template <typename T>
  requires C2 < C<T>,
  const T * > void f() {}
};
```
With empty config.
Space after `C2` probably means that `<` was treated as 'less' operator.  
Interestingly , removing `const` from `const T*` fixes the issue.
clang-format is from LLVM 14.0.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzdUk1vnDAQ_TXmMgoCA8vugcN-JFKkVK3UKO3VwMC6MZjaZtP99x2b7GYvufRYyQjPzPObN8-udXuuHsdpdizbsuTAki1bJctqpmnJOBwmJRwCy_aNEtbCM-N7WLYvLLtfYI0eG5wc7DkBD-DMjCzbfU6R3YMlUEMngJU7Vh6u8HfCAPwZiiEBcMvjzhOOYsBAdQEY_D1Lg5ZUEGRPX6h6uXq0Dp6B8a1vfdKyhY7xNeObS_ul962OixdL-HV2_6VTHgM3Xl0gN5bBv3r2Q7ojkBZ39nSd7OMl_30SDYLoHBogMF3XKoHJ6FrU6gwDitGCOwrni6TMV98EpQzSUC3QlvFSobX0Az2hEU6bGGBhfxyJF62TY09s_g4MDvpEoecLc3nGzujhmvB3tQ1Z-Qd9cwRp7Yzx1eOxv-u0GUiUtMvZp6eXL5DmcfIOitoqazfZRkROOoUVK3a351hxAIoUQm1E84pENH5cBCFn65t-MiVhBdgJG9nJBhphMZqNqo7OTdY_Sv5Aqye_5zpu9ECBUqfL7468_YWNozBMRYwPRb7OyuhYdTxLy7ZLC5HmSZ3xrGixLHndlslqtRYYKVGjsn4axvmIb4sxtKeBIlnxhPMkT5O0THlRxAlfFW0r0rTIV_mmXLM8wUFIFXsdsTZ9ZKogqZ57S0UlrbMfRXrKsh8xmOf5xeyO2lTfDLaoRvkaheZVEP8XYkBmbg">