https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119859

--- Comment #9 from Jason Merrill <jason at gcc dot gnu.org> ---
One of the EDG developers points out that the difference is not with CWG2273
but rather that in other compilers the base template is not brought in by the
derived template.  Before P1787 only the parameters needed to match for hiding,
but GCC implements the current specification.

  struct A {
    template<class T> void f(T, int);
  };

  struct B : public A {
    using A::f;
    template<class T> int f(T, int);
  };

  void (B::*p)(int, int) = &B::f; // ok, only works with gcc

CWG might still want to generalize 2273 to compensate for the P1787 change, but
I don't think it makes sense for this to block GCC 15.

Reply via email to