------- Comment #1 from pinskia at gcc dot gnu dot org 2006-06-20 15:57 ------- No, this is invalid, as both Base and Deriv are in the global namespace so the ident namespace is not looked at again after the parsing of the template. If either of them were in the ident namespace, GCC will look back into the ident namespace for argument dependent lookup. So what is happening here is that an overloaded set for foo is being generated when func is parsed and then it is instainated, a secondary overloaded set is generated for argument dependent lookup which is only within the namespace where the type is defined.
3.4 was incorrect in calling generic and did not conform to the standard at all. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|major |normal Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28093