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

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
GCC is correct (and we have at least one duplicate of this bug).

When name lookup finds the same name in more than one base class the program is
ill-formed. Overload resolution is not performed to select the best overload.

You can fix it with:

struct B : A, T {
  using A::operator*;
  using T::operator*;
};

Now name lookup finds both overloads in the same scope, and then performs
overload resolution to choose the best match.

Reply via email to