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

    <tr>
        <th>Summary</th>
        <td>
            Clang fails to compile when using `std::tuple_size_v<T>` in concept, but compiles with `std::tuple_size<T>::value`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

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

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

<pre>
    Clang (and other compilers too) compile when this code uses `::value` but fail to compile when `_v` is used:

```cpp
template<typename T>
concept check1 = requires {
        []<std::size_t... Is>(std::index_sequence<Is...>) requires requires {
                (std::get<Is>(std::declval<T>()), ...);
        } {}(std::make_index_sequence<std::tuple_size<T>::value>{});         // diff
};

template<typename T>
concept check2 = requires {
        []<std::size_t... Is>(std::index_sequence<Is...>) requires requires {
                (std::get<Is>(std::declval<T>()), ...);
        } {}(std::make_index_sequence<std::tuple_size_v<T>>{});              // diff
};


int main() {
        auto _ = check1<int>; // this is fine
 auto _ = check2<int>; // this not
}
```

Is this behaviour correct?
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsVM1u4ywUfZrrDapFwHbshRdp0kjddx9hfB3zFYNrIP06Tz_CTtJMf2bmAcZCsgSccw8H7hHOqaNBrCG_h3yXiOB7O9VP4pVjmTS2fau3WpgjAVYK0xLre5yItMOoNE6OeGuBVZcJ8tqjIb5XjkjbIgkOHYGCAt8A35yEDggFJU3wpBNKE29_RUJBD6e4Q7mIbSOOzqOgy5DjCHTjcRi18Ah8699GNGJA8gT8AehGWiNx9ET2KJ9XBPiOTPgS1BSVrO9numo5LPCt8-2izakfePBpmpJHF4lYeV1SpsX_Dw5fAhoZSz66NE3nTdU79xdFaHVLc0Q_Yz-wtyj1SWjg26dlBVg1jy2JVVgF_MK33s3k690tfhDPePgk8brsw6jxEE93qXBzFfzhwherkMsHbA9sT1rVdbHyeneR8Ne-s3--X30_nK7Of233HzwHulHGk0Eos6h8P6kI3pLD7PXy3IFvlfFzrfsL5dyNypFOGQS6IR9B7FuQsf6s5aYBF0WPbtnSYC9OyoYYCdOE0gPfJ23N24pXIsF6teZlnlHGs6SvmxwlLdcFz7jIy7KsuoLTosGOll3FcJ2omlGWU0YZ4znlWVpmXVexVS7kqumKgkJGcRBKp1qfhtROx0Q5F7BesTzLVokWDWo3RxljMsYWMBZTbaoj4K4JRwcZ1cp5907hldd4TrmYSu5TLAWnYgIW9LfXG2PLkHMfxHcUY-7M48ir8v03FF90ZkGTMOm69350cX6-laPyfWhSaQdg-yj__LsbJ_tf9J7tZzscsP3ZkVPNfgYAAP__5qS5-Q">