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