------- Comment #2 from pinskia at gcc dot gnu dot org 2007-10-30 20:07 ------- You are missing the part about argument dependent lookup.
With the namespace, only the first display is looked at since the "bad" class is not in the global namespace. The late works because all of the display's are there already in the overloaded set. The overloaded set for a non qualified function call with a dependent argument inside a template is: 1) all functions in the scope at definition time 2) all functions in the namespace of the type of the dependent argument at both definition and instantion time -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33951