// { dg-do compile { target c++11 } } template // { dg-error "template parameter" } struct call; template struct call // { dg-message "note: redeclared here" } { template struct result; template struct result { typedef X type; }; }; template // { dg-error "template parameter" } struct call2; template struct call2 // { dg-message "note: redeclared here" } { template struct result; template struct result { typedef X type; }; }; template class... TT> // { dg-error "template parameter" } struct call3; template class TT> struct call3 // { dg-message "note: redeclared here" } { template struct result; template struct result { typedef X type; }; };