// { dg-do compile { target c++11 } }
template<typename T, int... Dims>
struct array { 
  int foo();
};
template<typename T>
struct array<T, 0> {
  int bar();
};
template<typename T, int... Dims>
int array<T, Dims...>::foo() { return 0; }
template<typename T>
int array<T, 0>::bar() { return 0; }