This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/54948] New: template unnecessarily displayed as "A< template-parameter-1-1 >" not "A<T>"


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: unassigned@gcc.gnu.org
        ReportedBy: redi@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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]