[Bug c++/11118] [3.4 only] missleading error message on missing typename

giovannibajo@libero.it gcc-bugzilla@gcc.gnu.org
Mon Jun 9 11:28:00 GMT 2003


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


giovannibajo@libero.it changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |DUPLICATE


------- Additional Comments From giovannibajo@libero.it  2003-06-09 11:28 -------
This is a borderline case because the qualified-id is the injected-class-name 
("Foo" is an alias of "Foo<T>"). DR224 clarifies that such names are "non-
dependent" because of the _semantic_ behind it (they can be looked-up at 
template definition time, not instantiation), even if they appear to be 
dependent from a _syntactic_ point of view (the qualified-id contains the 
template parameter T). 

In other words, the proposed code should not compile as per pure C++98, but 
it's been recognized as a defect. You can consult DR224 
(http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html#224) for more 
examples.

We already have an open bug (PR9634) to track this, thus I close this bug as a 
duplicate.

*** This bug has been marked as a duplicate of 9634 ***



More information about the Gcc-bugs mailing list