Re: [C++/66443] deleted ctor and vbase construction

2016-10-07 Thread Jason Merrill
OK. On Fri, Oct 7, 2016 at 6:31 AM, Nathan Sidwell wrote: > On 10/05/16 19:49, Jason Merrill wrote: > >> But DR 1658 says that B::B is *not* deleted (because A is not a >> potentially constructed subobject). Implementing that might be >> simpler than trying to have a deleted

Re: [C++/66443] deleted ctor and vbase construction

2016-10-07 Thread Nathan Sidwell
On 10/05/16 19:49, Jason Merrill wrote: But DR 1658 says that B::B is *not* deleted (because A is not a potentially constructed subobject). Implementing that might be simpler than trying to have a deleted complete and non-deleted base constructor variant. Always better to read the actual DR

Re: [C++/66443] deleted ctor and vbase construction

2016-10-06 Thread Nathan Sidwell
On 10/05/16 19:49, Jason Merrill wrote: But DR 1658 says that B::B is *not* deleted (because A is not a potentially constructed subobject). oo, I'd not noticed that. It certainly might make things much simpler. Essentially a check for ABSTRACT_TYPE_P somewhere in that code. nathan

Re: [C++/66443] deleted ctor and vbase construction

2016-10-05 Thread Jason Merrill
On Fri, Sep 30, 2016 at 1:39 PM, Nathan Sidwell wrote: > PR 66443 concerns C++14 DR1611. It is now permitted to use the base-ctor of > an abstract class whos complete ctor is deleted because of a virtual base > issue. Specifically, given > > class A { > A (int); > // no

[C++/66443] deleted ctor and vbase construction

2016-09-30 Thread Nathan Sidwell
PR 66443 concerns C++14 DR1611. It is now permitted to use the base-ctor of an abstract class whos complete ctor is deleted because of a virtual base issue. Specifically, given class A { A (int); // no default ctor in C++14 }; class B : virtual A { virtual void Foo () = 0; // abstract