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

    <tr>
        <th>Summary</th>
        <td>
            Pack indexing specifier can't be used with templated function declaration inside a class
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    Example:
```cpp
#include <concepts>

template<typename... Ts>
using front_t = Ts...[0];

struct Foo {
    template<typename... Ts>
         requires std::same_as<Ts...[0], int>
    static auto buggy() -> void;

    template<typename... Ts>
 requires std::same_as<front_t<Ts...>, int>
    static auto working() -> void;
};

template<typename... Ts>
    requires std::same_as<Ts...[0], int>
auto Foo::buggy() -> void {}

template<typename... Ts>
    requires std::same_as<front_t<Ts...>, int>
auto Foo::working() -> void {}

int main() {
    Foo::buggy<int>();
 Foo::working<int>();
}
```
```
<source>:18:11: error: out-of-line definition of 'buggy' does not match any declaration in 'Foo'
   18 | auto Foo::buggy() -> void {}
      |           ^~~~~
<source>:6:8: note: Foo defined here
    6 | struct Foo {
      |        ^~~
1 error generated.
Compiler returned: 1
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysVEuTozYQ_jXNpcsUSAbsAwfGY8457H1LSA1WFiQiiXlc5renhNlxvDv7SCoqlxGoH9_3tbqF93owRDUUD1A8JmIJF-tqk7X7l6Sz6rU-v4hpHgl4A1kDZXb9yXmOr4xrI8dFEQI_SWskzcEDP8ezrAk0zaMIBPwUXmcyYqI0TfHTZrF4bQbsnTXhc0Dgj_jJp2kKxUMGxSPwh2sUH9wiA7bWIlTxGyLiL0Lj1-Xor0U78uiDihR448VEn4UHfrrLxk6oTbh5-yCCliiWYLFbhuEV2AHYEXfAz_hktXrH9ztwfgZjE-AdED__FMyzdV-0GX4Ap7rp9hsS_Sd1VhSttVeHD7VZC1U9_i84fiHPPZofiHOHR5uAk9BmM7rdqW848dOWZLW7yvp9po-stlRfe-XbPT95uzhJ0Ys3-SH-5cAbJOesixu7hJ3td6M2hIp6bXTQ1qDtEVi1KV6hsuTR2MgmyAsK84qK5CicWK21idYRMKuuDPMDQnXCf1XAaxtFt9uC4vz29vb2PZcSeBPpRFRxYqxNuxIghRdytAUs14AfNvZdrjURZE1-lQYHMuREIJVC1pzsNOuRHDoKizMUbw7m_xQ7UTVXR34UCdV5tS_zQ3k8lMmlpqqTZd7tD33Pu65kRVfxghWVpD6vWCcSXbOMFVmRsTwvSlakgh0ZSSUqpvZMqT3sM5qEHtNxfJpS64ZEe79QnfMDK4pkFB2Nfh2qjBl6xvUUGIsz1tXRadctg4d9Nmof_C1M0GGk-g8hv6A2il7iiPQzSd1rciiFAVYF7AgXTwqfdbi8Dx-F_WLkWvv7e-C1IhQoR-F9srixvoQw-1h-1gJrBx0uS5dKOwFrI5DtsZud_ZNkANau8D2wduP3VLO_AwAA___sbdVx">