[Bug c++/87478] New: Hidden member function falsely takes part in qualified name lookup

mario.bielert@tu-dresden.de gcc-bugzilla@gcc.gnu.org
Mon Oct 1 12:45:00 GMT 2018


            Bug ID: 87478
           Summary: Hidden member function falsely takes part in qualified
                    name lookup
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mario.bielert@tu-dresden.de
  Target Milestone: ---

Created attachment 44772
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44772&action=edit
Example code, which should be rejected

In the attached example, a base class is defined with a member function
template and a derived class is defined with the same member function template.
Both member function templates have the same parameter list but are SFINAE'd
with exclusive conditions.

However, according to http://eel.is/c++draft/namespace.udecl#1 hidden functions
shall not participate in the name lookup and the base function template is
hidden according to http://eel.is/c++draft/namespace.udecl#15. Therefore, the
example code should be rejected, but it compiles without warnings.

The issue came up on this stackoverflow question:

More information about the Gcc-bugs mailing list