http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51889
Bug #: 51889 Summary: [4.7 regression] can't override a using-declaration in a template Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: ja...@gcc.gnu.org CC: fab...@gcc.gnu.org, ja...@redhat.com 7.3.3/15: When a using-declaration brings names from a base class into a derived class scope, member functions and member function templates in the derived class override and/or hide member functions and member function templates with the same name, parameter-type-list (8.3.5), cv-qualification, and ref-qualifier (if any) in a base class (rather than conflicting). This isn't working properly in templates currently: struct A { void f(); }; template <class T> struct B: A { using A::f; void f(); };