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

Reply via email to