<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/54943>54943</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang-format] nested angle brackets inside concept definition lead to incorrect interpretation
</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
#include <concepts>
#include <iterator>
template <class _InIt, class _OutIt>
concept _Can_reread_dest =
std::forward_iterator<_OutIt> && std::same_as < std::iter_value_t<_InIt>,
std::iter_value_t < _OutIt >> ;
```
Output(without .clang-format file):
```cpp
#include <concepts>
#include <iterator>
template <class _InIt, class _OutIt>
concept _Can_reread_dest =
std::forward_iterator<_OutIt> && std::same_as < std::iter_value_t<_InIt>,
std::iter_value_t < _OutIt >> ;
```
`<` after `std::same_as` are all parsed as less-than instead of angle brackets thus spaces are added before and after
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztU02PmzAQ_TXmYiXCNvngwCFLWimn9h8gg4fEXccge9io_75jSJrtas89LbJgxjPz3vOMaQfzuzr5cUKmDiw_svzAtvmyunG870hlfecmA5ypuht8ByNGpr59FrYIQeMQnuH5jXAdncYFwekYeXPyJ2Sy5nf3x4TkP6ruLLyptW8CBNCmMRCR6o9LBqcnokm61aEfwk0H0zzZ67-AnMktrWdy1FdodExSnpupsnnTboIGU_WsjtTIeqH7NHGGWIh4Sk5k6uVDH9-3gVJTr-X-ZvEyTMjXdHp_XpH-q0beWwdMll-z-B-zSK6q6c11TzicrI-y5mAArp3jow4RDCetDmJc4UV7bn1E6gYfek5TdMDboLtXwMjxMkUeR91BXBCMoeIWqDnkeLNwZqZSplSlztCig4ptXt7fB7Y5ck-NTrT_whOxpRk_JmOgt96iHTyJIz04UEY3hAAdkkVMYwDUKSGbgqsuiGNMJ5XfaZ3pLk7tuhuu5Dj39visxjD8IgRybYwTRDI2RVmo7FIZIdt8227ErgdR7PtS5LLYt0LvtqLMxS5zugUX04mYlB5ufIYgmw6V2UrmUuaF2OZ7JfNyvd8Iocu2K4XcCSUEK3K4auvWScd6COcsVLOkdjpHCjobMT6DdGnt2cPcwISvJ_q7QvUzgAHn7Ws2k1ez-D_ePIfj">