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

--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Huiba Li from comment #7)
> > ```
> >   struct A {
> >     A(int, int = 0);
> >     A(int, int, int = 0) = delete;
> >   };
> >   struct B : A {
> >     using A::A;
> >   };
> >   B b(1);
> > 
> > ```
> > 
> > This is rejected by GCC and EDG while accepted by clang/msvc.
> 
> As a user of C++, I'd say I'm surprised to see the rejection, and then
> confused by the reason given in the error message.

Right and so what i think is going wrong has to come down with is the
constructor that is selected still the same constructor that is called. The
paper and the defect report in this area were aiming at fixing that. But it
seems like edg and gcc didnt implement the way folks were expecting. I have
been rereading the standard and the paper that resolves this and it is still
not obvious to me which is correct. I must be missing something.

Reply via email to