<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/112931>112931</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Unexpected warning for pack indexing
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
breese
</td>
</tr>
</table>
<pre>
Suppose we use the feature test macro to only use pack indexing when available
```
template <std::size_t N, typename... Args>
constexpr auto my_element(Args... args) {
#if __cpp_pack_indexing >= 202311L
return args...[N];
#else
// Do something else
#endif
}
```
A compiler warning is emitted when compiling for C++23 or earlier
```
<source>:13:16: warning: pack indexing is a C++2c extension [-Wc++26-extensions]
13 | return args...[N];
| ^
1 warning generated.
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8U02PmzAQ_TXDZRSEbSDhwCEfzanaS1X1GDkwAbfGRrbZJP31lQmb7VarWlHAem_ezLxhpPeqM0Q1FDsoDomcQm9dfXZEnpKzbe_1t2kcrSe8Ek6eMPSEF5JhcoSBfMBBNs5isGiNvs-UUTa_UJmWbsp0eO3JoHyVSsuzJsgOkG2hzJbffA00jFoGQhB7H1oQWxBbr37TKeAL8D2G-0hGDpSmKW5d50F8eUQ21vhAt9GhnILF4X4iTQOZAHwTiTFAxgBeIax3S3Yu1AVPp2YcT7HW07PWqCsOiDzjgrGvDzqiozA5MwulaQrF7gWKA4h3OdKe3sjAj8CPeLDo7UChj7rveCSbVl2W2_rwqSFbbOwwKk0Or9KZKKE80qBCoPbh6IMQkYt1uAe-A77jAq1Dkk4rcp8qR4ft5BqaW90yEf9KENu3RPH14wCVR_lM0CDdAhmvrEEodqsfzQKUqyfgozuLG8gEwnqPb-f_Vj44f_OXA8UycPY0pCNDTgZq038aTdpatJWoZEI1W_OKl5uKVUlfy7LgVZZlBYn8csmbUrQ5v8TTntdFyRJV84znLGMbVvKN2KRFk0sqZ5BEkZeQZzRIpVOtX4fUui5R3k9UM8YrwRItz6T9vEucG7rijALncbVcHYNW56nzkGda-eDfZYIKmurvhm4jNfOMly7jcD-MI5mcrvsQRh_XZP7WOhX66Zw2dgB-jJLLYzU6-5OaAPw4F-KBH5dKX2v-JwAA__8IWDEw">