<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/54765>54765</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[libc++-14] <ranges> header failes to define std::ranges::contiguous_range
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Wentzell
</td>
</tr>
</table>
<pre>
The code snippet
```cpp
#include <ranges>
template <std::ranges::contiguous_range R>
void f(R r){}
```
compiles successfully (using `-stdlib=libc++ -std=c++20`) with clang-13.0.1 and clang-trunk,
but fails to compile with clang-14.0.0
```
<source>:3:24: error: no type named 'contiguous_range' in namespace 'std::ranges'
template <std::ranges::contiguous_range R>
~~~~~~~~~~~~~^
<source>:4:8: error: unknown type name 'R'
void f(R r){}
^
2 errors generated.
Compiler returned: 1
```
See https://godbolt.org/z/1na3EaeEe
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJylU9tu4yAQ_Rr8gmLZYNfxgx_aJP2A7Er7uMIwdtglYHFp1X79jp2klyiqKq01YIYZhnNmht6pl-7nAah0CmiwepogkmJLivvzfFecRE7TeYdxbaVJ6E_4xgs7QiB89_FQhONkRFwcQlSE36NcPOe1dDbqMbkUfi_bdP8W4clpRQfC1nvqCWtJ80Ca7RWWj3dJd5y0gUBDkhJCGJIxLxTPp6DtSNF7hRCM7gnf4iwJe0ChqwXX9qyyJSpr6bOOByoNYlqVPC_ykgqrzhvRJ_uXsM3p3j5FOghtAo2OnkF8Ol7h8eJmKs8q5sYlL2Gmzu85DlbhRMF75-eFdTS-TECtOIJCSs112nCLarvYwyQkzD7X-WbN_9eEvn2k2X1L6t1NkjO_9SeOmFLrnu070ZnD_g31F91wQXS5ip2CBjqCBY9MVX4ybE7F8dRDTN7CzJ2WN2vyA4AeYpyWlLBHlNGp3pmYOz-i9oqjtILvBOwgUx1XLW9FFnU00JH64b3BsP6k3n56IfQAQiGMuWtgaRsFg7b47L5Tjix5011hw25LfY7Nh4oxT5ffavLuD8iIqg4hzU3wWFfNXZ0duqIqm3po-2FoeV3VA6yVKtdVUdd1qUTFMiN6MGEmg_gz3bGCsQLtZVPwsslFObTybqhUiXFYxUhVwBEJ5fPFc5Yy3y0Y-jQGNBodYng3ihD0aAEu8UWKB-e7X2DjKxiTLXi7Bew_VXpbmg">