On Monday, 1 May 2017 at 16:08:36 UTC, Andrej Mitrovic wrote:
On Monday, 1 May 2017 at 15:33:47 UTC, Basile B. wrote:
On Monday, 1 May 2017 at 14:55:28 UTC, Mike Parker wrote:
DIP 1004 is titled "Inherited Constructors. [...]
All review-related feedback on and discussion of the DIP
should occur in this thread. [...]
Destroy!
An obvious omission in the syntax variations [1]
- alias this() = super.this();
or
- alias this = super.this;
I thought people would catch on that this is implied. :) The
old-style or new-style alias syntax should both be allowed, in
my opinion. The main issue is what to do about the parentheses,
whether to include them or not.
Then i have nothing to say and you can count me as a supporter of
this DIP. As a personal matter i don't even care about the
problem that's to have the ability to select a restricted set
among the __ctors of the base.
About protection attributes i think that the rules applied to OOP
should be followed. Private __ctors can only be inherited in
derived if derived is in the same module, otherwise not.
Protected and public __ctors can always be inherited. Package
__ctors can be inherited in the same package.
Note that i always wondered why in the first place constructors
and destructors were not designed to be virtual functions, like
in other languages...