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