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

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
I think this should be diagnose differently in that A changes meanings inside
the class.
That is if we used:
 operator A () const noexcept { return {}; }

We get the following error message:
t9.cc:8:12: error: declaration of ‘void B::A()’ [-fpermissive]
  void A() {}
            ^
t9.cc:2:7: error: changes meaning of ‘A’ from ‘class A’ [-fpermissive]
 class A {};
       ^

Reply via email to