[Bug c++/13967] [3.3?/3.4/3.5 regression] template template argument identifier lookup fails scoping rules
gdr at integrable-solutions dot net
gcc-bugzilla@gcc.gnu.org
Mon Feb 2 17:32:00 GMT 2004
------- Additional Comments From gdr at integrable-solutions dot net 2004-02-02 17:32 -------
Subject: Re: New: template template argument identifier lookup fails scoping rules
"gianni at mariani dot ws" <gcc-bugzilla@gcc.gnu.org> writes:
| The code below, compiles fine on MSVC++ 7.1 and Comeau.
| It seems that the fix for Bug 13808 is not complete as the
| scoping of template parameters is not taken into account
| before identifies in the anclosing class's template.
Well, I don't think GCC is in error. When you define a function (or a
class) in a class, it gets rewritten as if it where defined outside of
the class (which is why we get the reevaluation rule I pointed you to
in a different PR). Now, when you reevaluate the member template
outside of the class, name lookup is required to find X::C -- see
14.6.1/5 and 14.6.1/7
-- Gaby
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13967
More information about the Gcc-bugs
mailing list