DIP 1004 Preliminary Review Round 1
Mike Wey via Digitalmars-d
digitalmars-d at puremagic.com
Wed May 3 10:53:51 PDT 2017
On 05/03/2017 05:09 PM, Andrej Mitrovic wrote:
> On Wednesday, 3 May 2017 at 12:58:17 UTC, Daniel N wrote:
>> The trick is that your child class need to have defined at least 1
>> constructor before the alias.
>>
>> This should work:
>> this() {}
>> alias __ctor = super.__ctor;
>>
>> This will give the error message you saw:
>> alias __ctor = super.__ctor;
>> this() {}
>
> I see. It does look like an accidental feature (as in, that it could
> break in the future).
You could switch to:
```
this(A...)(auto ref A a)
{
import std.functional;
super(forward!a);
}
```
but that doesn't work with all the parameter storage classes.
lazy is no longer lazy for example.
--
Mike Wey
More information about the Digitalmars-d
mailing list