1// PR c++/68585 2// { dg-do compile { target c++11 } } 3 4template<typename T, unsigned N> 5 struct array 6 { 7 T _M_data[N]; 8 }; 9 10template<typename _Tp, _Tp... _Idx> 11 struct integer_sequence 12 { 13 }; 14 15struct Pos 16{ 17 unsigned l; 18}; 19 20template<class T, T... Ints> 21constexpr array<Pos, sizeof...(Ints)> make_grid_position(integer_sequence<T, Ints...>) 22{ 23 return {{ Pos{Ints}... }}; 24} 25 26constexpr array<Pos, 1> make_grid_positions() 27{ 28 return make_grid_position(integer_sequence<unsigned, 0>{}); 29} 30 31template<class T> 32void generate_sudoku(T) 33{ 34 constexpr auto positions = make_grid_positions(); // fail 35} 36 37int main() 38{ 39 constexpr auto positions = make_grid_positions(); // ok 40 generate_sudoku(1); 41} 42