https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113798
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |mpolacek at gcc dot gnu.org Status|NEW |ASSIGNED --- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> --- I have a patch that, so far, compiles this correctly: ``` // P2662R3 - Pack Indexing // PR c++/113798 // { dg-do compile { target c++17 } } // { dg-options "" } template<int I, typename... Ts> using Type = Ts...[I]; // { dg-warning "pack indexing only available with" "" { target c++23_down } } template<int I, auto... Ts> constexpr auto Var = Ts...[I]; // { dg-warning "pack indexing only available with" "" { target c++23_down } } template <int I, auto...Ts> decltype(Ts...[I]) // { dg-warning "pack indexing only available with" "" { target c++23_down } } foo () { return Ts...[I]; // { dg-warning "pack indexing only available with" "" { target c++23_down } } } void g () { using U = Type<1, char, int, float>; using U = int; constexpr auto V = Var<2, 0, 1, 42>; static_assert (V == 42); int r = foo<2, 0, 1, 42>(); } ```