<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/60999>60999</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
allocator_traits<Alloc>::select_on_container_copy_construction rejected when used with a parameter pack
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ojrosten
</td>
</tr>
</table>
<pre>
```
struct S
{
template<class... Allocator>
S(const Allocator&...) {}
};
template<class... Allocators>
void foo(const Allocators&... as)
{
S s(std::allocator_traits<Allocators>::select_on_container_copy_construction(as)...); // rejected
// OK:
//S s({std::allocator_traits<Allocators>::select_on_container_copy_construction(as)...});
}
```
Here's the godbolt link: https://godbolt.org/z/Pear79vvr
I did try to create an example without using allocator_traits but couldn't get it to fail.
Note that there doesn't seem to be a problem in the non-variadic case
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0U81uwzYMfhr6QtRw6MQ_Bx-SZsGGAduAPkAgW0ysVpYCiU7XPf1gO23T7gfYYYAh06b4_VCUitGcHXMDmx1s9okapfeh8c_BR2GXtF6_NVBktyfbQ7aNEsZO8Gn5gnK3BIiIwsPFKmHIHzurYkzTFLfW-k6JD5D_8LnzCajqvItyl6ciTVOgGifMcv-Ov4f8RrGs_0oSP1iu3mg8ef9XorgwoYpA9d-4wCeMQFUUDfkW8q16LzxKUEYi5I9f-eZdkS13cvTu2HknyjgOx85f3o4z-9Qy4x1QNbMuRiHfIdAB6ICBn7kT1vdGZy23_K8_Tyzffy9Codz931rL_SL380yW4OtkLOuPHBiojCg949nr1ltBa9wL5FvsRS5xEjHrv2VTH85Ahz-ADr-xCmV9vYZ7xJ9QG40S3lA8doGVMCqH_LsaLpbx1UjvR8ExGnfG7x3AdhTs_Gi1AyoFzyxoZEI6KWPTe55fvDBKr2SSHhi157gUReZhKmkZFV6Cby0PaNxs0Xn3cFXBKG067FTkRDe5rvNaJdysirLMC6pWlPRNReuspbbIO9KUkap0tVarlaqqYrVSmzoxDWWUZ0QboqzYUFqf6vxU6Fpr3WbtZgXrjIdJtrXXYWpbYmIcuSmyuq4Tq1q2cb7LRI5fcU4C0XS1QzPVPLTjOcI6syZK_EQRI5abfxqe_zY3H7OMrz07HOMUGemnzqmgBhYOeFHdSzIG23wbCCP92KadH4AOk7rb6-ES_AQKdJg9RaDD7PnPAAAA__8aCXwd">