http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54948



             Bug #: 54948

           Summary: template unnecessarily displayed as "A<

                    template-parameter-1-1 >" not "A<T>"

    Classification: Unclassified

           Product: gcc

           Version: 4.8.0

            Status: UNCONFIRMED

          Keywords: diagnostic

          Severity: enhancement

          Priority: P3

         Component: c++

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: r...@gcc.gnu.org





template<typename> struct A;



template<typename T> struct A { A(Y); };



A<int> a;



This invalid code produces:



tp.cc: In instantiation of 'struct A<int>':

tp.cc:5:8:   required from here

tp.cc:3:36: error: 'A< <template-parameter-1-1> >::Y' has incomplete type

 template<typename T> struct A { A(Y); };

                                    ^

tp.cc:3:29: error: declaration of 'struct A<int>'

 template<typename T> struct A { A(Y); };

                             ^



This is correct, but "A< <template-parameter-1-1> >::Y" is rather ugly.



At the point of the error the parameter has a name, so "A<T>::Y" could be shown

instead.

Reply via email to