// { dg-do compile { target c++11 } }
// PR c++/34055
template<typename...> struct A;

template<typename...T> struct A<T*> // { dg-error "parameter packs|T" }
{
  void foo();
};

template<typename...T> void A<T*>::foo() {} // { dg-error "invalid declarator" }



template<typename...> struct B;

template<typename...T> struct B<T&> // { dg-error "parameter packs|T" }
{
  void foo();
};

template<typename...T> void B<T&>::foo() {} // { dg-error "invalid declarator" }


template<typename...> struct C;

template<typename...T> struct C<T()> // { dg-error "parameter packs|T" }
{
  void foo();
};

template<typename...T> void C<T()>::foo() {} // { dg-error "invalid declarator" }
