The following reply was made to PR c++/10261; it has been noted by GNATS. From: Bradley Baetz To: Giovanni Bajo Cc: gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org, gcc-prs@gcc.gnu.org Subject: Re: c++/10261: g++ does not error for bogus |typename| inside a templated class Date: Mon, 7 Apr 2003 20:50:27 +1000 On Mon, Apr 07, 2003 at 12:27:45PM +0200, Giovanni Bajo wrote: > > http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&p > r=10261 > > Not a bug. ยง14.6p5: "The keyword typename shall only be used in template > declarations and definitions [...] The keyword typename shall only be > applied to qualified names, but those names need not be dependent." right, I wasn't complaining about the first two bits, which should be erroring, but rather pointing out the second two lines. > > In other words, you cannot use 'typename' outside templates. You cannot use > 'typename' with unqualified names. You can use 'typename' for non-dependent > qualified names (but it's not necessary). Yeah, I think I misread the DR, (and got confused because I grabbed an incorrect testcase from the other compiler in the bugzilla report) I missed the fact that the DR was talking about specialisations only. Bradley