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

    <tr>
        <th>Summary</th>
        <td>
            [clang][regression][rejects-valid] clang trunk rejecting valid pack expansion
        </td>
    </tr>

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

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

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

<pre>
    I believe the following C++20 code should compile:

```c++
template <class...>
concept True = true;

template <bool>
struct I {
 template <template <class...> class F, class... As>
  using f = F<As...>;
};

template <template <class...> class F, class... As>
using meval = I<True<As...>>::template f<F, As...>;

template <class F, class... As>
concept P = true;

template <class F, class... As>
  requires P<F, As...>
using V = void;

template <class...Ts>
auto f() -> meval<V, int, Ts...> {
}

int main() {
  f();
}
```

Clang 18 and earlier accepts it, as does gcc. With clang-trunk, I get:

```
<source>:10:29: error: pack expansion used as argument for non-pack parameter of alias template
   10 | template <template <class...> class F, class... As>
      | ^
1 error generated.
Compiler returned: 1
```

See repro here: https://godbolt.org/z/c1dG74EPd
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVE2TozYQ_TXi0mUKJDDmwGGMh9TcpipTm7MQDVZWSEQfzsevTwlsj3c3s5tKZWrKgNR67_XrVnPn5KQRG1IeSXlKePBnYxu0UmiJvUKb9Gb4s3mBHpXEC4I_I4xGKfO71BO0hB4JPdIMhBkQ3NkENYAw8yIVEvZEshPJbr_7bPsX26Ft1eO8KO4RCGuF4s6laUrY87YpjBa4eHizIQacwNuAhB0fYR8BemPU_bDzNggPL0Cq6wF4jP2AGNZ36Aht4bYMT-6OChBczHxc9XSEtU83yXdd1ek7Gv8j78Y644WrlfmFsPZtdeNBwHO0nL3TjYS1K-K3Gv_Z_I_5b6V4_Td1-KGHFn8L0qKD128UPmT7aeW6GDn8iCtN07d3fB68gZHQA6E17KK5q2-EtZ8ildQ-Pt5uzt_7IxbugUVqDzOX-gr03kY37C8q_mWPP-K0iusJ8gNwPQByqyRa4CLa6UCuWriDwaCDSYgUfpH-HH3T087boD_HgBeY0H90oa6frHUmWIFbH-QZYU9R4xOgtcbGl4WLz4B_LFw7aTQEh0Ok5nYKM2oPo7Ggjd6tcQu3fEaPFswIXEnu7vfn5gPkGZCq_X_uVfyLYKS8LuWbcJhQo-Ueh_Tq5zZeLFj0wWocYmr5dwrwMyJYXKyBM9o4luDs_eKinbQjtJvM0BvlU2MnQru_CO1EPvxUFc-vQzI0bKhZzRNs8iov2b7Mijo5N7xmddnXgg5YDHVOWb8X1b6qikNdFfvDmMiGZrTIyjzLD3lF65SxfCzpHkUhxoLWIykynLlUqVKXOXIn0rmATZ1XhypRvEfl1rlM6doMhNI4om0T43d9mBwpMiWdd-8IXnq1DvPtRHki5dHiZNHFgt--f0Xh3e7ClRxIedpaDdZWg20zXr51-6uOSYJVzVfeSX8OfSrMTGgXdVwfu8WaCEVot6blCO3WzP4OAAD__wur4OU">