1 // { dg-options "-std=c++0x" }
3 template<typename...> struct A;
5 template<typename...T> struct A<T*> // { dg-error "parameter packs|T" }
6 { // { dg-error "parameter packs|T" }
7 void foo(); // { dg-error "parameter packs|T|candidate" }
10 template<typename...T> void A<T*>::foo() {} // { dg-error "does not match" }
14 template<typename...> struct B;
16 template<typename...T> struct B<T&> // { dg-error "parameter packs|T" }
17 { // { dg-error "parameter packs|T" }
18 void foo(); // { dg-error "parameter packs|T" }
21 template<typename...T> void B<T&>::foo() {} // { dg-error "does not match" }
24 template<typename...> struct C;
26 template<typename...T> struct C<T()> // { dg-error "parameter packs|T" }
27 { // { dg-error "parameter packs|T" }
28 void foo(); // { dg-error "parameter packs|T" }
31 template<typename...T> void C<T()>::foo() {} // { dg-error "does not match" }