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();
};

Reply via email to