[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