c++/10261: g++ does not error for bogus |typename| inside a templated class

Giovanni Bajo giovannibajo@libero.it
Mon Apr 7 11:08:00 GMT 2003


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.

Please read again: "The keyword typename shall only be applied to qualified
names, but those names *NEED NOT* be dependent."
In your example, in the second two lines, foo<int>::value_type is a
non-dependent qualified name. Use of typename is allowed but not required.

>Yeah, I think I misread the DR,

Yup, that DR has nothing to do with this.

Giovanni Bajo



More information about the Gcc-bugs mailing list