https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87478
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.biel...@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: https://stackoverflow.com/questions/52590220/name-lookup-error-of-enable-ifd-inherited-member-functions