<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">