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